#how to steer my agent
1 messages · Page 1 of 1 (latest)
For the main agent, don’t use /steer — that command is for running subagents.
Use normal follow-up messages in the same thread/session. If it’s actively running and you want your next message to steer the in-flight run, set the queue mode first:
/queue steer
Then send the correction, e.g. stop editing that file; use pnpm, not bun; only inspect logs first. If you want new messages to abort the current run and start with your correction instead, use:
/queue interrupt
And if it has already gone off the rails, use /stop, then send a corrected instruction or /reset <new instruction> to clear the session context.
Docs starting point: https://docs.openclaw.ai/help/faq
so which one makes it so if it makes a mistake mid-run and I want to correct it immediatlty?
Use /queue steer for that.
That makes your next message get sent into the currently running main-agent session as steering, so you can say something like:
Wait, don’t edit that file. Use src/foo.ts instead and keep the existing API.
If the mistake is bad enough that you want the current run stopped and replaced, use /queue interrupt instead. My rule of thumb:
/queue steer = correct the run mid-flight
/queue interrupt = abort and restart from your correction
Current queue settings: mode=steer, debounce=500ms, cap=20, drop=summarize.
Options: modes steer, queue, followup, collect, steer+backlog, interrupt; debounce:<ms|s|m>, cap:<n>, drop:old|new|summarize.
but it queues my message
Yep, that wording is confusing: steer still uses the queue system as the transport.
The important distinction is:
/queue steer tries to inject your correction into the active run while it’s streaming. If it can’t inject at that exact moment, it falls back to queued follow-up behavior.
If you want “stop what you’re doing right now and handle this correction immediately,” use:
/queue interrupt
Then send the correction. That is the mode you want for hard mid-run mistakes.
i want it to interrupt if i send a new message but continue what it was last doing
Use /queue interrupt, then make your new message explicit about continuing the task.
Example:
/queue interrupt
Then:
Continue the previous task, but stop using X. Instead do Y, and keep the changes already made unless they conflict.
Interrupt does not mean “forget the session”; it aborts the active run and starts the next turn from the same conversation/session context. So the agent can continue what it was doing, but your correction becomes the new instruction.
One caveat: if it was in the middle of an external command/tool call, that exact operation may need a moment to stop or finish cleanup.
🦞 OpenClaw 2026.5.6 (c97b9f7)
⏱️ Uptime: gateway 23s · system 1d 18h
🧠 Model: opencode-go/deepseek-v4-flash · 🔑 api-key (models.json)
🔄 Fallbacks: google/gemma-4-31b-it
↪️ Fallback: opencode-go/kimi-k2.6 (selected model unavailable)
🧮 Tokens: 136 in / 133 out
🗄️ Cache: 100% hit · 32k cached, 0 new
📚 Context: 33k/262k (12%) · 🧹 Compactions: 0
🧵 Session: agent:main:telegram:direct:8398889290 • updated just now
⚙️ Execution: direct · Runtime: OpenClaw Pi Default · Think: medium
🪢 Queue: interrupt (depth 0)
what does selected model unavailable mean