Terminal and Git
The real shell at the bottom of the panel, long-running processes, and the Git panel
Terminal
The collapsible drawer at the bottom of the panel is a real shell, the same one you get in a terminal application: your shell, your prompt, your aliases, colours, interactive programs.
The assistant uses the same terminal you do. A command it runs, and its output, are visible to you as they happen. That is the point: you can tell whether the build actually passed rather than taking a summary for it.
Collapsing the drawer only hides it, so the scrollback survives.
Every command runs in a shared folder, with your normal environment. If a tool works in your own
terminal but not here, the usual cause is a PATH set up by your shell profile in a way the app does
not see. Check with which <tool> inside this terminal.
Commands the assistant runs
Each command is approval-gated, showing the actual command line. "Always allow" binds to one command family in one shared folder, so approving pnpm test once does not approve everything.
A critical command always asks, in every mode, including Auto, and even with a matching standing
permission: a force push, reset --hard, rm -rf, anything under sudo, piping a downloaded
script into a shell, publishing a package. The card names the reason and offers no "always allow".
Long-running commands
A dev server, a watch build, a long test run does not block the conversation. It keeps running in the background, and the assistant can read the output collected so far or stop the process.
That is how "start the dev server, then fix the error it prints" works as one request: it starts the server, reads its output, finds the error, fixes the file, and reads the output again.
The preview has a small toolbar for the same thing, with the buffered log of the running server.
Git
The Git tab is a full working panel, not a status display.
| Area | What you can do |
|---|---|
| Status | Changed, staged and untracked files |
| Files | Stage, unstage, view the change, open the file, copy the path |
| Commit | Write a message and commit the staged changes |
| Branches | List, switch, create |
| Remotes | List, add, fetch, pull, push |
| Init | Turn a folder into a repository |
Right-click a file row for its actions. View change opens the diff as an overlay over the panel, with a back arrow.
The panel refreshes when something changes, not on a timer, so it does not put load on a big repository for nothing.
Git through the assistant
The assistant can do all of this too, by running Git commands in the terminal: reading the history, finding out when a line was introduced, creating a commit, preparing a branch.
Useful requests that are more than the panel gives you:
- "Which commit introduced this line, and what else did it change?"
- "Commit this in three separate commits, split by topic."
- "What has changed on this branch compared to main, in prose?"
Both a normal commit and a push are approval-gated. A force push, and reset --hard, always ask separately, whatever the mode.