Make third-party models inside Claude Code behave closer to a native Opus session. hello2cc does not replace your gateway, provider mapping, or account setup.
> /plugin marketplace add hellowind777/hello2cc> /plugin install hello2cc@hello2cc-local
Make third-party models inside Claude Code behave closer to a native Opus session.
hello2cc does not replace your gateway, provider mapping, or account setup.
It sits in the plugin layer and keeps third-party models closer to Claude Code's native behavior around tool choice, agent routing, task and team workflow, failure handling, and response style.
Language: English | 简体中文
hello2cc is for users who already run GPT, Kimi, DeepSeek, Gemini, Qwen, or other third-party models in Claude Code through CCSwitch or a similar mapping layer.
It helps in three places:
AGENTS.md, CLAUDE.md, or direct user instructionsCompared with the previous public release (v0.5.9), 0.5.11 adds two practical fixes and one behavior tightening pass:
| Area | What changed |
|---|---|
| Task completion | TaskCompleted / TaskUpdate(status=completed) no longer gets hard-blocked just because the description is thin; the hook now warns without breaking completion-state sync |
| New Claude Code compatibility | The old Task subagent tool name is now treated as an alias of Agent, covering hooks, capability detection, session continuity, and real-session regression checks |
| Output discipline | Explanation and comparison prompts are less likely to trigger team/task-board demos, and the native style now pushes replies toward concise, direct, low-ceremony wording |
team_name pollution, and preserves task-board continuity only when the host proves it exists.Clone the repository.
git clone https://github.com/hellowind777/hello2cc.git
cd hello2cc
Add the local marketplace entry.
claude plugins marketplace add "<repo-path>"
Replace <repo-path> with your local hello2cc repository path.
Install and enable the plugin.
claude plugins install hello2cc@hello2cc-local
claude plugins enable hello2cc@hello2cc-local
Reload Claude Code.
/reload-plugins
Run:
claude plugins list
Expected result:
hello2cc@hello2cc-local is installedsettings.json to force agent=hello2cc:nativeGood when your model mapping is already handled elsewhere and you only want hello2cc to align behavior:
{
"mirror_session_model": true
}
Good when you want most spawned agents to use the same Claude slot:
{
"mirror_session_model": true,
"default_agent_model": "opus"
}
Use Claude slot values such as inherit, opus, sonnet, or haiku here.
If your real target model is mapped through CCSwitch, keep that mapping in CCSwitch instead of writing third-party aliases into hello2cc.
flowchart LR
A[Third-party model already connected in Claude Code] --> B[Claude Code surfaces tools, agents, skills, or MCP]
B --> C[hello2cc adds host-aware routing and protocol guardrails]
C --> D[Model chooses a more native path]
D --> E[Less drift in tools, teams, tasks, and reply style]
style A fill:#e3f2fd
style B fill:#fff3e0
style C fill:#e8f5e9
style E fill:#4caf50,color:#fff
| Layer | What it does |
|---|---|
| Host-state guidance | Surfaces tools, agents, workflows, MCP resources, and continuity state so the model chooses within the real session boundary |
| Pre/post tool guardrails | Normalizes inputs, strips placeholders, records failure memory, and keeps deterministic checks fail-closed |
| Native style shell | Keeps replies closer to Claude Code's direct, restrained, execution-first style |
Check the following:
hello2cc:native still shows after disable or reloadClaude Code can keep thread-level agent state across resumed sessions.
Current versions no longer ship a plugin-side settings.json that force-selects hello2cc:native, so a clean reinstall and a fresh session should stop new unintended injection.
TaskCompleted or TaskUpdate(status=completed) still gets stuckUpgrade to 0.5.11 or later, then reload the plugin.
Current versions downgrade thin completion descriptions from a hard block to a warning-first guard, so task-board state can still move to completed.
Agent and Task no longer matchUpgrade to 0.5.11 or later.
hello2cc now treats Task as an alias of Agent across its internal compatibility surface.
Team "default" does not existCurrent versions reduce accidental team injection for explanation, comparison, and capability prompts.
If the problem remains, inspect the Claude Code debug log first and confirm whether the upstream model or proxy is still emitting a real tool input such as team_name: "default" or name + team_name.
This repository does not currently show a plugin-side code path that explicitly disables Claude Code streaming.
If the issue remains, check:
sub2api buffers streaming responses into a single payloadclaude --debug-file <path> already shows the upstream response arriving as non-streamingccstatusline still shows zero usageUse the bridge command described in docs/ccstatusline.md.
The bridge reads transcript usage, supports agentId / agent_id / agent.id and direct subagent transcript paths, and backfills context_window fields only when Claude Code left them empty or zero.
No. CCSwitch or another mapping layer should continue to own provider and model mapping. hello2cc only shapes behavior after the model is already running inside Claude Code.
No. It only helps the model choose and use capabilities that are already present in the current session.
Usually not. The plugin ships an output style and a native agent option, but normal installation should not require an extra manual entry point.
No. One-shot parallel work can stay on ordinary agent paths. Real team workflow is reserved for cases that need persistent task-board, ownership, or handoff semantics.
No. User instructions, Claude Code host rules, and repository rules still win. hello2cc only tightens the default behavior inside the remaining space.
This repository is licensed under the Apache-2.0 License.
See LICENSE for full details.
hello2cc is a Claude Code plugin, indexed on Flowy in the Agent Orchestration category. Install it with the command on its page. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it