npm run dev, vite, flask run and so on. Sixth starts these as background shells. It doesn’t wait for them; it keeps working and checks on them when it needs to.
Starting a server
When Sixth runs a command that starts a long-running process, it marks it as a server (starts_a_server). Sixth then:
- Runs the command in a VS Code terminal.
- Collects the output for up to 15 seconds so it can see whether the server started.
- Continues with the task while the process keeps running.
sh-3. Later, Sixth uses that id to check the shell with the access_launched_terminal_task tool. That reports whether the process is still running, its pid, its exit code, how long it has been up, and its latest output lines (100 by default). Sixth checks this instead of starting the same server again.
Background shells can also be started by Background Agents and sub-agents.
Watching and stopping shells
Open the Agents & shells dock above the message box (or type/agents) and switch to the Shells tab. Each shell shows:
- a status dot
- the command
- who started it: the main task, an agent or a sub-agent
- its exit status once it has ended
- a live running time
- a Stop button
Commands that take a while
Ordinary commands (builds, installs, test runs) are different: Sixth waits for them. If one is still running after 18 seconds, Sixth doesn’t sit idle:- It continues with the output collected so far.
- The command keeps running in your terminal.
- Sixth decides what to do next, for example carry on with other work while a build runs, re-run the command if it was waiting for input it didn’t get, or move on once a server is up.
wait_until tool (1 to 300 seconds) when it needs to give a long process time before checking the result.
