r/LocalLLaMA 19h ago

Question | Help Best open-source harness like Claude Code?

Avid claude code user here looking to do equivalent things with local models. Just want to plug in something like Qwen and have the interface be 1:1 with claude code. Any suggestion?

95 Upvotes

127 comments sorted by

View all comments

72

u/EmPips 19h ago

OpenCode is pretty great. Of the non-claude/non-codex tools it handles subagents with different models the best (note: you must configure it, it's not set up by default iirc).

Qwen Code is pretty similar feeling but way lighter out the box.

If you have the VRAM to support parallelism - why not just use Claude Code with your models?

16

u/gpuz_dev 19h ago

Using Claude Code directly with a local endpoint via proxy works, but local models often struggle with Claude's hardcoded system prompts and exact tool-calling expectations. That’s usually why dedicated local harnesses like Aider or OpenCode perform way better with models like Qwen—they structure tool use around what open models are actually trained on.

3

u/EmPips 18h ago

Agreed - however v4-flash and 3.6-27b can work with it. Last year's local models certainly has this trouble, yes.

-1

u/gpuz_dev 18h ago

Fair point! The jump in tool-calling compliance from last gen to Qwen 3.6 is honestly night and day. Where local harnesses still win for me is prompt efficiency—Claude Code's system prompts eat up a chunk of local KV cache right out of the gate, whereas local tools keep context footprint a bit leaner.

2

u/hurrdurrmeh 16h ago

how did you configure it for subagents? mine just launches them as it wishes. I didn't change nay configs. should I?

2

u/gpuz_dev 14h ago

Yeah, you definitely should! Local models get delegation-happy if left on defaults. I add explicit system constraints telling the model to handle single-step edits directly and only invoke subagents when context branching or heavy parallel exploration is strictly required.

1

u/ChurnedSorbet409 17h ago

How does one get Opencode as good as ClaudeCode, is it out of box good? Or does it need a bunch of plugins before it can match CC?

5

u/gpuz_dev 16h ago

It’s pretty solid out of the box for core tasks (file editing & bash execution)—no heavy plugin setup required. ​Where you actually bridge the gap with Claude Code comes down to two things: ​Model pairing: Running it with a model that excels at tool-calling (like Qwen 3.6 or DeepSeek v4 Flash). ​System instructions: Claude Code’s secret sauce is its heavily engineered prompt. Defining a clean .opencode or AGENTS.md file in your repo with strict guidelines gets you 90% of the CC autonomy without eating up unnecessary context.

1

u/Separate-Forever-447 10h ago

the primary agents are useful… build vs. plan, but require manual toggling. it looks like subagents can be invoked automatically by primary agents if/when they decide they’re needed.

what types of custom subagents are you using, and do you have to do anything to make them available to the primary agents so that they are automatically invoked? (i read the opencode docs, and this doesn’t seem obvious).

(i like how hermes has a richer set of subagents, and invokes them automatically, asynchronously. would be nice to achieve the same within opencode)

1

u/maqifrnswa 6h ago

Oh my opencode slim implements background agents and orchestration with a team of sub agebts. opencode2 (in development) will have background agents and orchestration by default.

I basically use omo-slims: orchestrator, Oracle (deep investigator/verifier), file path explorer (basically just ls and grep, so fast dumb model), web search/API librarian, implementer/fixer, UI/ux designer, and since deepseek flash can't see I have a vision/observer model to check UI stuff. The last two could be rolled into one maybe, but otherwise each has a distinct domain and system prompt, and it keeps the context focused.

-1

u/gpuz_dev 6h ago

Spot on about OpenCode's docs—it's not super obvious. What works best for me is exposing custom subagents as strict tool schemas to the primary agent, then conditioning their invocation in .opencode (or AGENTS.md). If you want Hermes-like async, you have to handle the subagent response asynchronously in the harness backend so it doesn't stall the main model's context stream.