Terminal
Terminal is a real local login Bash shell inside Zimac. Each command runs against your machine, with stdout and stderr streamed into a full-screen log.
This is not a command preview or an AI sandbox. git, npm, cargo, file writes, and destructive shell commands have the same effect they would in a local shell launched with your user account.
❯ Real Bash
Runs one command through /bin/bash -l -c on the host.
↯ Live output
Streams merged stdout and stderr as the command produces them.
~ Persistent cd/export
Carries the working directory and exported environment to the next command.
^C Interrupt
Sends termination to the running shell process group.
/terminal. The utility is currently practical on macOS or another Unix build with /bin/bash; it is hidden on iPhone and does not have a portable Windows shell backend.What it is#
The Terminal overlay is a thin client over a local route. It posts one command, starts a login Bash process, and appends output frames to a scrollback view. The prompt shows the current directory, shortening your home directory to ~.
The terminal is app-wide rather than tied to a chat or specialist. Opening it again in the same app session returns to the same overlay state.
Run commands#
Type a line and press Enter. The command is evaluated by Bash with stderr redirected into the streamed output. When it finishes, the final frame carries the exit code and updated directory. Non-zero output blocks are marked as errors.
ANSI colour and cursor-control sequences are stripped because the overlay renders plain text rather than emulating a full terminal screen.
What persists#
After each command, Zimac captures:
- the resulting working directory, so
cd pathaffects the next command; and export -p, so exported environment variables carry forward.
That is intentionally narrower than a continuously attached interactive shell. Unexported variables, shell functions, aliases created in one command, background job control, and arbitrary in-process state are not promised to persist. A new app process starts a fresh Terminal session.
History & control#
- ↑ and ↓ move through commands entered in the current overlay session.
clearorclsclears the visible log locally; it does not alter files or reset the shell state.- Ctrl+C while a command runs asks the backend to terminate its process group. When idle, it clears the input line.
- Esc closes the overlay. Closing does not stop an in-flight command; reopen to see continuing output and the running indicator.
Execution scope#
Review paths and arguments before pressing Enter. Avoid pasting commands you do not understand, especially recursive deletion, permission changes, installer pipes, credential output, or writes aimed at a broad directory. Terminal output may contain secrets; do not copy it into chat unless you intend to share it with your configured model route.
Platform & limits#
- The backend currently starts
/bin/bash. It is not PowerShell, Command Prompt, WSL discovery, or a Windows-native shell. - It is not a full pseudo-terminal. Interactive TUIs, password prompts, programs that require stdin after launch, and terminal cursor control may not work.
- Only one command runs at a time in the process-global session.
- Ctrl-C is implemented as a best-effort termination signal to the process group; a program may handle or delay it.
- Scrollback and input history are UI session state, not a durable audited command log.