feature: Rename mode: legacy to nonagentic and continue supporting non-tool invoking avante
Feature request
Hi there, The default mode has switched over to agentic and started invoking tools. While I appreciate the growth, myself and others on my team prefer the nonagentic, LLM only feedback and insight. It's faster, and very useful as a scalpel.
Many of us go further and set disable_tools = { "python" }, to turn off tools.
The mode naming of legacy implies it'll be deprecated, abandoned or even deleted.
mode = "agentic", -- The default mode for interaction. "agentic" uses tools to automatically generate code, "legacy" uses the old planning method to generate code.
Can we rename legacy to nonagentic and continue support for it? Thanks!
Motivation
agentic is slower, brittle with paths, and much more token consuming. nonagentic is still useful, and I imagine power users switching between the two.
Other
No response
I agree. I use it in the same way for exactly the same reason.
It would be nice if there was a way to switch between these modes while coding, if possible.
@Flamme13 I agree that this would be a great feature.
@yetone do you plan on maintaining support for "legacy" mode going forward?
+1 for legacy/nonagentic mode.
The models are still not smart enough to do anything via agentic on anything larger than a TODO application. I caught a junior trying wasting an entire morning trying to get Cursor to update a simple CRUD interface and db migration to match a db schema change and had nothing to show for it because Cursor kept breaking code around it or hallucinating the schema change.
Update for anyone having issues with agentic mode, and mode = "legacy" is not working, you can peg your avante version to f9aa754, right before agentic mode was added
i.e. for Lazy:
{
"yetone/avante.nvim",
lazy = true,
-- version = "*",
commit = "f9aa754",
opts = {...}
}
why? agentic mode can silently corrupt your codebase. I just asked it to populate a series of tests into a blank testing script file; and in addition to populating the test file, it also silently updated the model under test, corrupting the code which hadn't been commited to git yet, destroying an hour of work... gg
This would be good. @yetone responded to me on a twitter DM, suggesting the 'legacy' mode is how you can disable agentic behavior. It is not working, at least not for Claude. Seems to be OK for other gemini 2.5 pro.
I love the idea of agentic / nonagentic flag instead of 'legacy' as they are both valid workflows. There are some really interesting positives withe the 'agentic' mode, in terms of facilitating a conversation with the model between suggestions. Often I say 'no' to a change, and I use the opportunity to give the model extra instructions and context in the 'Reject Reason'. It is the silent changes that are terrible...
I thought about it a bit overnight, and having this as a prefix flag on a per-request basis might make even more sense than a global setting.
There are definitely scenarios where a dev would want to use agentic mode to lay down scaffolding or other blank canvas changes, but then need to switch to non-agentic mode for refinements and bug fixes. I did a variant of this last night where I had an o3 agent scaffold out a new api interface (in librechat), then went in manually with claude to get the migration, model, controllers and cx-facing api all in alignment for typing and logic. I might repeat a pass with an agent again today (probably w/VSCode) to layer in tests for the new feature, then fine tune to the tests by hand so they make sense.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.
This issue was closed because it has been stalled for 5 days with no activity.
I love the legacy nonagentic mode, please continue support :)