How Background Sessions Work
By default, voice output is tied to the active voice session. When other sessions produce responses:- Output streams to terminals following that session
- No voice is spoken (unless configured otherwise)
- Notifications can alert you when work completes
Starting Background Work
Managing Concurrent Sessions
Checking Running Sessions
View all active sessions:✓ indicates the active voice session.
Aborting Running Tasks
To stop a background task:abort command, which:
- Stops the current agent turn
- Interrupts any running bash commands
- Preserves the conversation history up to that point
Notification Settings
Configure how Rubber Duck notifies you about background work:Background Completion Notifications
Background Completion Notifications
When a background session completes:
- Default: Silent completion (no notification)
- Configurable: Enable notifications in Settings for non-voice sessions
Voice Output for Background Sessions
Voice Output for Background Sessions
By default, only the active voice session speaks responses.You can enable “Background sessions speak” in Settings to hear all session output, but this is not recommended as it can be confusing when multiple sessions talk simultaneously.
Example: Concurrent Development Workflow
Here’s a practical example of using background tasks:Continue normal work
Option+D: “Fix the login page styling bug”You can continue working normally while the security audit runs.Check on background progress
In a separate terminal:Watch the live stream of file scans and findings.
Barge-In Behavior
The Auto-abort on barge-in setting (enabled by default) controls what happens when you interrupt the assistant:With Auto-Abort Enabled (Default)
When you start speaking while the assistant is responding:- TTS stops immediately
- The current agent run is aborted
- Your new speech becomes a fresh prompt
- Any running bash commands are interrupted
With Auto-Abort Disabled
When you interrupt:- TTS stops immediately
- Your speech is sent as a steering message
- The current tool completes
- Remaining planned tools are skipped
- The assistant responds to your steering input
Resource Management
Each running session:- Spawns a separate Pi subprocess
- Maintains its own memory and context
- Can execute tools independently
Stopping Sessions
Sessions automatically stop after a period of inactivity, but you can manually stop them:Session Lifecycle Events
When following a session, you’ll see events indicating:- Session started/resumed
- Agent turn started
- Tool executions (read, write, bash, etc.)
- Agent turn completed
- Session switched (when voice changes to another session)
Best Practices
- Monitor background sessions in separate terminal windows
- Use descriptive session names to identify background tasks
- Abort long-running tasks that are no longer needed
- Check
duck sessionsregularly to see what’s running - Limit concurrent sessions to what your system can handle comfortably
- Review background work by switching to that session and asking for a summary