Agent() constructor still accepts seven older parameters; each has a Config replacement that groups related settings.
Quick Start
1
Find the old params
Scan your code for any of the seven deprecated names:
2
Look up the replacement
Match each name to its config object in the migration table below.
3
Swap the kwarg for the config object
The behaviour is identical — the config form just groups related settings.
Migration Table
Each deprecated param maps to one config-object replacement.allow_delegation → handoffs
- Old
- New
allow_code_execution + code_execution_mode → execution
- Old
- New
auto_save → memory
- Old
- New
rate_limiter → execution
- Old
- New
verification_hooks → autonomy
- Old
- New
cli_backend → runtime
- Old
- New
What Else Changed
Two related rules make constructor mistakes fail fast instead of silently. Keyword-only aftertoolsets=. handoffs= and every Config param must be passed by name. A stray positional past toolsets no longer binds to handoffs= by accident.
TypeError. Typos fail loudly.
Should I Migrate?
Use this flow to decide when to switch.Common Patterns
The three migrations you will hit most often. Coder agent —allow_code_execution + code_execution_mode → ExecutionConfig:
auto_save + rate_limiter → MemoryConfig + ExecutionConfig:
verification_hooks → AutonomyConfig:
Best Practices
Prefer the Config form in new code
Prefer the Config form in new code
The deprecated names will be removed in a future release. Write new agents with the config objects from the start.
Fix DeprecationWarnings as they surface
Fix DeprecationWarnings as they surface
Migrate the warnings that appear in your test suite as you touch each agent, not all at once.
Always pass Config params by name
Always pass Config params by name
Never pass
Agent(..., value) positionally past toolsets=. Keyword form prevents accidental misbinding.Do not use fallback_models= on Agent()
Do not use fallback_models= on Agent()
fallback_models= is an internal forwarding path for clone_for_channel(), not a public param. Use llm=LLMConfig(fallback_models=[...]) instead.Related
Handoffs
Replaces
allow_delegation=True.Execution
Replaces
allow_code_execution, code_execution_mode, and rate_limiter.Autonomy
Replaces
verification_hooks=[...].Memory
Replaces
auto_save="name".Runtime
Replaces
cli_backend=.Rate Limiter
Replaces
rate_limiter= on Agent().
