I'm just started using this with opencode, using the default passthrough mode
Claude Sonnet 4.6 is really confused with the output of the Edit tool. I really don't know if this is an issue, or just a misconfiguration. From its thinking I could gather:
- It expected the output of Edit to be the edited content, not just an "Edit applied successfully.". I can see in opencode source that it returns the replacement result.
- When calling multiple tools, only one would work (or in case of bash, it seems to get the results concatenated, as it reported). I can see that that is in the known limitations, but it still confuses the agent. Maybe add an instruction in the system prompt so it runs one tool at a time?
I'll test again with passthrough disabled (as soon as I have more tokens lol), but I'd really like to passthrough to work just fine.
Here some exerts from its thinking:
The edit failed - the oldString didn't match exactly. Let me re-read the exact content of responder.ts around line 192.
Wait, actually the edit to responder.ts applied successfully? The message says "Edit applied successfully." So it seems it was applied. But wait, the previous message said "Could not find oldString in the file." Let me think about what happened...
Good, it seems some edits are being applied.
It seems like my edits are being applied. However, I'm not getting direct read results back - instead I'm getting back responses saying "Edit applied successfully." Let me try to get a clear read of the current state of all files.
I keep getting "Edit applied successfully" but I haven't seen the content of the file after all these edits.
I'm getting very confused by this conversation. Each of my tool calls is being forwarded to a client, and I get back either the result of a previous tool call or "Edit applied successfully." I can't tell what state the files are in.
From here on, it started using bash to read files because it stopped trusting its own tools
I still can't see the actual file contents. The responses I'm getting back ("Edit applied successfully") seem to be echoing back results from some queue of previously applied edits.
I notice that in the conversation flow, when I've made multiple tool calls at once, I only get one result back at a time, which is causing massive confusion.
After three bash calls in a row to read files
I can see the current state of all files. The output is mixed up (resolver.ts and visitante.ts are concatenated in the output), but I can see the content.
I'm just started using this with opencode, using the default passthrough mode
Claude Sonnet 4.6 is really confused with the output of the Edit tool. I really don't know if this is an issue, or just a misconfiguration. From its thinking I could gather:
I'll test again with passthrough disabled (as soon as I have more tokens lol), but I'd really like to passthrough to work just fine.
Here some exerts from its thinking:
From here on, it started using bash to read files because it stopped trusting its own tools
After three bash calls in a row to read files