The terminal

A real shell in your project, how to open it, and how it differs from the commands the agent runs.

Ctrl+J opens a panel along the bottom of the window with a real shell in it, already sitting in your project.

It is a genuine terminal — colours, Ctrl+C, job control, interactive programs, vim if you insist. Not a command-output box.

Opening one#

  • Ctrl+J toggles the panel.
  • Right-click a folder → Open in Terminal starts a shell in that folder and shows the panel.

The + button adds another. Terminals appear as tabs above the shell, named Terminal 1, Terminal 2, or after the folder they were opened in. The bin icon closes the active one, the eraser clears its screen.

Drag the panel's top edge to resize it. Ctrl+J again — or the × at the panel's right — hides it, and your shells keep running with their scrollback intact.

Note

Hiding the panel and dragging it shut are not the same. Drag the top edge far enough down and the panel collapses to a strip — which kills every shell in it and loses your scrollback. Use Ctrl+J to put it away.

Where you are and what you get#

A plain terminal opens at your project root; a folder terminal opens in that folder. Terminals can't start outside the project.

It runs your shell, but not as a login shell. If your PATH is set up in .zprofile or .profile — which is where nvm, pyenv and asdf usually put it — those tools won't be on the path here even though they work in your normal terminal. Move the setup into .zshrc or .bashrc and it will be picked up.

Links in the output are clickable and open in your browser. Selecting text pops a Send to Chat button that drops the selection into the composer as a code block — handy for handing a stack trace straight to the agent.

Scrollback is a thousand lines. The text size is fixed and doesn't follow the interface zoom, and there are no terminal preferences.

Everything closes when the app does — no sessions are resumed. Switching projects closes them too, since they were rooted in the old one.

Note

If the connection behind a terminal drops, it prints [terminal disconnected] and stays dead — there's no reconnect. Close the tab and open a new one.

The other view: Debug#

The panel's right edge has a second icon. Debug tails the local Semantix server's log, with a filter box and colour-coded levels. It's there for when something isn't behaving and you want to see whether the machinery underneath noticed.

The agent's commands are not in here#

When the agent runs something, it does not use your terminal. Separate shell, separate output, its own card in the conversation.

You watch it in that card, which holds a live terminal while the command runs — and you can click into it and type, which is how you answer a prompt that's waiting for input. When the command finishes the card collapses to a single line with the exit code and how long it took.

Note

That output is gone once the command finishes — the card keeps the result line, not the log. If a build fails and you want to read the error yourself, run it again in your own terminal.

Which commands the agent may run, and whether it stops to ask you first, depends on how the conversation is set up.

→ What the agent can do