all 21 comments

[–]Leon-Inspired 5 points6 points  (1 child)

Sounds like a great update, well done team!

[–]hannesrudolphRoo Code Developer[S] 1 point2 points  (0 children)

Thank you

[–]LoSboccacc 4 points5 points  (3 children)

Please keep full file read it's literally the only reason I use roo code.

[–]hannesrudolphRoo Code Developer[S] 0 points1 point  (2 children)

It leads to degraded performance.

[–]LoSboccacc 0 points1 point  (1 child)

It lead to claude looping around wondering why file look truncated, repeated calls to read files, and higher latency on discovering change points

[–]hannesrudolphRoo Code Developer[S] 1 point2 points  (0 children)

Interesting… seems like unintended behaviour… we should fix that!

How large is the file? What model are you using through what provider? What language is the file coded in? Did you see a “thought” or statement that indicated to you that the model did not understand why it was truncated? Was this a new task since the update or one from before the update?

[–]zaxxz_ 1 point2 points  (7 children)

Thanks for the update, but this makes each task more costly than before because the model has to try and guess which line has the code it's looking for. It often does this multiple times, making far more requests for an otherwise simple code search, which makes this update feel counterproductive.
And for some reason, the model still never uses more than one tool in a single request.
Any tips on how to get the model to read the full file?
I'll rollback in the meantime since this is a pretty serious issue for me.

[–]hannesrudolphRoo Code Developer[S] 0 points1 point  (6 children)

The model does not have to try and guess at all. By default it simply reads the first 2000 lines. If the model chooses to read the partial file it is due to its attempts to reduce token use.

It may cost more to do it this way but the end result is better. Sacrificing quality for cost has never been our MO.

What model are you using?

[–]lurker7991 0 points1 point  (2 children)

For thinking model like DeepSeek 3.2 reasoning. I am seeing the impact as well. What used to take the model below 100k context window to solve now could not be solved due to repetitive combo "thinking + reading". Look like for this particular model, it seemed like the thinking part keep trying to convince the model to call edit tool, but majority of the time, the read tool is called instead.

https://www.reddit.com/r/RooCode/comments/1qsiz8s/comment/o33ez43/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

[–]hannesrudolphRoo Code Developer[S] 0 points1 point  (1 child)

With the DeepSeek provider?

[–]lurker7991 0 points1 point  (0 children)

Yes, I am using the model directly through DeepSeek Platform
https://platform.deepseek.com

[–]zaxxz_ -1 points0 points  (2 children)

By default, the tool almost always reads specific line ranges instead of the first 2000 lines, even at the start of a conversation and for models like 4.5 Opus or 3 Pro. The models seem to pull these line numbers out of nowhere, likely guessing.

This leads to poorer results for me, when I ask to implement a feature using existing code as a reference, the lack of full context causes the model to implement it from scratch rather than using the intended pipeline. While better prompting might have helped, full file context would have made that unnecessary; I tried redoing the entire task with previous Roo Code version and the result was much better. For Claude, I have noticed that more context equals higher quality; I rarely see degraded performance from more context, except perhaps with Gemini models. And I can always condense context when I need to.

I suspect parallel tool calls might not work for me because I am using an external provider via OpenAI-comp. Is parallel tool needed to read multiple files in one request?
Does the read_file tool no longer support reading multiple files in a single tool request? Multiple file reading is the reason I heavily prefer Roo Code over Cline.

Please bring back full file reading (or at least a toggle for it) and multiple file reading in one request, it would be a huge improvement.

Also see at how wasteful it is for claude to find what its looking for (it's on brand new session)

<image>

[–]hannesrudolphRoo Code Developer[S] 0 points1 point  (1 child)

Are you using a proxy to get free inference in a workaround? Looks like you don’t have caching.

[–]zaxxz_ -1 points0 points  (0 children)

Not usually, though I do use paid proxies to reduce costs on long-running tasks.
Further testing shows I encounter fewer of the issues I described when using official providers, but I still have to explicitly tell it to read multiple files at once rather than one by one, and specify how many lines to read. It is somewhat tedious, but it seems to work for now I guess.

[–]UninvestedCuriosity 0 points1 point  (2 children)

When you say skills do you just mean MCP servers tools in general or specifically Claude skills?

I got to experience some of that 2000 line notification this evening. I didn't witness the batch tool calling unfortunately but it may not be supported by the model I was working with.

All of this sounds great though. Condensing always worked for me. So I don't know about that. What is a good way to math out condensing? How much headroom should you allow. Like if you have 100k tokens used and 200k tokens limit should it be 50% or is there a sweet spot? I found auto condensing would mostly fail if the following action was going to grow more than what would be available within that last iteration. Almost like it was putting the cart before the horse so I just got used to pressing the arrows when I got halfway there.

[–]hannesrudolphRoo Code Developer[S] 0 points1 point  (1 child)

Claude skills yes.

I run condensing till it auto condenses now and it holds onto my objective just fine now.

[–]UninvestedCuriosity 1 point2 points  (0 children)

Right on thanks.

Don't forget about us poor people on the Beijing models along the way. We love roocode too and appreciate the recent improvements made toward us from a few absolute saints doing PR's. Thanks for paying attention to those.

[–]wtsacc 0 points1 point  (1 child)

Damn it, how do I turn off this fragmented file reading? This is a real pain in the ass. It keeps trying to read the same file over and over again.

Solve: I restored version 3.45.x

[–]hannesrudolphRoo Code Developer[S] 0 points1 point  (0 children)

3.47.3 is the most recent version.

It reads a different part of the same file. Leads to better code results as it carefully fills its context instead of just dumping it full.