Claude Code 2.1.310: our test log
Claude Code 2.1.310 edited calc.py through its Edit tool with a local 3B model on the second prompt (85.9 s); the first, vaguer prompt made no edit.
Tested by us on 2026-10-25. Local open-weight model, not the vendor's hosted models. A smoke test on a CPU-only box, not a benchmark.
Result at a glance
| Field | Value |
|---|---|
| Result | Partly worked |
| Version tested | 2.1.310 |
| Date and time | 2026-10-25, 17:48 to 17:50 CDT (America/Chicago) |
| Task | In a throwaway folder, give the tool a small bug and ask a local model to fix it through the tool's own editing. calc.py contained def add(a,b): return a-b. Pass means the file ended as return a+b after the tool's own edit. |
| Model used | Qwen2.5-3B-Instruct (Q4_K_M) through Ollama 0.40.11 |
| Hardware | Linux x86_64 virtual machine (Debian 13), 8 vCPU (Intel Xeon, 1 thread per core), 15 GiB RAM, no GPU |
| Attempt 2 wall time | 85.9 s (first token after 74.9 s) |
| Turns | 2 |
| Install version tested | 2.1.310 (native installer) |
What we found
- Attempt 2 worked: the Edit tool replaced the line and the structured patch in the log shows
- return a-band+ return a+b. - Attempt 1 failed: the model said calc.py did not exist, and no edit was made.
- Most of the 85.9 s was waiting for the first token (74.9 s), which reflects the small model on a CPU-only box, not Claude Code itself.
What we ran, step by step
| Step | Wall time | Exit code | Notes |
|---|---|---|---|
| Install with the native installer | n/a | n/a | The headless run reported claude_code_version 2.1.310. We did not time the install. The npm package installed 2.1.197 in the earlier shared npm install, so the npm package was not the version tested. |
| Attempt 1 (vaguer prompt) | n/a | n/a | Claude Code answered that calc.py did not exist in the working directory and made no edit. It also printed that it does not recognize the model id qwen2.5-3b-32k and assumes a 200k-token context window. |
| Attempt 2 (exact path and strings) | 85.9 s | 0 | The Edit tool changed return a-b to return a+b; the result was "success", 2 turns, permission mode acceptEdits. Time to first token was 74.9 s of the 85.9 s. |
# Install with the native installer
curl -fsSL https://claude.ai/install.sh | bash # script read first; a copy is kept with the test filesRaw output (excerpts)
Claude Code doesn't recognize the model "qwen2.5-3b-32k", so it assumes a context window of 200k tokens.
[claude-code:unrecognized_model] {"model":"qwen2.5-3b-32k","query_source":"sdk"}
The file `calc.py` does not exist in the current working directory. Please ensure you are in the correct directory and the file is present before attempting to edit it.{"type":"tool_use","name":"Edit","input":{"file_path":"/workspace/tests/proj-claude/calc.py","old_string":" return a-b","new_string":" return a+b"}}
{"type":"tool_result","content":"The file /workspace/tests/proj-claude/calc.py has been updated successfully."}
"stop_reason":"end_turn","is_error":false,"num_turns":2,"duration_ms":85896,"ttft_ms":74894Gotchas and things that broke
- The log reports total_cost_usd 0.0437 with apiKeySource none. No vendor account or API key was used, so we do not treat that figure as a charge.
- The config pointed Claude Code at a local Ollama server through an Anthropic-compatible API; the model id shown in the log is qwen2.5-3b-32k.
What we did not test
- Claude models, subscription login and any Anthropic-hosted model.
- The sandbox and permission fixes in 2.1.309 and 2.1.310, claude ultrareview and --trust-workspace, and Bedrock, Vertex or Foundry.
- Reliability: one prompt that worked after one that did not, so this is an existence proof, not a pass rate.
Reproduce it
Versions change. These commands install whatever is latest on the day you run them unless a version is pinned, so expect different results later. The version we measured is in the table above.
curl -fsSL https://claude.ai/install.sh | bash # read the script first
# point Claude Code at a local Anthropic-compatible endpoint, create calc.py with `return a-b`, then:
claude -p "Edit /full/path/calc.py: replace ' return a-b' with ' return a+b'" # we ran it headless with permission mode acceptEdits and JSON streaming outputHow to read this test
Every number on this page was measured on this one machine, which also ran other jobs, so timings are indicative and vary run to run. A pass means our small task worked once or as stated, a fail means it did not work as we ran it; neither says how the tool behaves with a vendor's frontier model, on a GPU, or at scale. Where a tool could not run without an account or a GPU, we say so instead of guessing.
See the testing rig for the hardware, the local model and the rules we follow, and the test hub for every other test.
Related tests: coding agents and clis
- Cline CLI: Cline CLI 3.0.73 edited calc.py correctly with a local 3B model, then failed on every follow-up command with 'Invalid input' until the session was aborted at 68 s.
- Codex CLI: Codex CLI 0.164.0 changed calc.py by running a sed command in its sandbox with a local 3B model; an earlier plain-language edit request ran no edit.
- Continue CLI: Continue CLI 1.5.47 answered a question and fixed a one-line bug with a local 3B model through a YAML config; a 1.6 s, 81 MB install.
- goose: goose 1.56.0 edited calc.py on the second headless run with a local 3B model (19.4 s); the first run called the edit tool but its text did not match, so the file did not change.
- opencode: opencode 1.19.4 edited calc.py on the second headless run with a local 3B model; the first run tried the wrong path (src/calc.py) and failed.
- OpenHands CLI: OpenHands 1.16.0 installed (14 s, 537 MB) and started its agent, but with a local 3B model it made 0 edits in 2 trials: calc.py was unchanged.
FAQ
Did you test Claude Code with Claude models?
No. We ran Claude Code 2.1.310 against a small local model through an Anthropic-compatible endpoint with no Anthropic account, so this log says nothing about Claude models.
Sources
- Claude Code overview (fetched 2026-10-25)
Related
Markdown version for agents: /tests/claude-code.md