New · July 2026
ShellCommands
Start a message with ! and it runs as a shell command instead of a prompt. The output renders as a terminal card in the chat, and your next message to the AI already carries it as context. Run !git status, read the card, then say "fix the conflicts".
One Character Between Chat and Shell
Start a message with ! and Enter runs it as a shell command on your machine instead of sending a prompt. !git status and ! npm test both work, and a multi-line draft runs as one command. While the draft starts with !, a Shell command chip in the input toolbar shows what Enter is about to do.
- !git status and ! npm test both run; a bare ! is just text
- A Shell command chip appears while the draft starts with !
- Enter runs the command; Ctrl+Enter does the same, never queued
- A multi-line draft runs as one command
A Terminal Card in the Transcript
The command runs in the session's working directory and the result renders as a terminal card in the chat: the command, its exit status, the working directory, the shell that ran it, and the duration, with the output in a scrollable block you can copy.
- Runs in the session's working directory
- Shows command, exit status, working directory, shell, and duration
- Output scrolls and copies like any terminal buffer
- A failed command shows its exit status on the same card
The Output Is Already Context
The command and its output land in the session history, so your next message to the AI already carries them as context. Run !git status, then type "fix the conflicts": the AI sees exactly what you saw. No AI turn is spent on the run itself.
- Command and output are stored in the session history
- The next message to the AI carries them automatically
- Run !git status, then ask the AI to fix the conflicts
- The run itself never calls the AI
- A session you open with a command is named after what you ran
Runs Even While the AI Is Busy
You do not have to wait for a task to finish. A shell command runs immediately while the AI keeps streaming, and its transcript entry waits for the turn to finish before joining the history, so the running turn is never disturbed.
- Enter runs the command immediately, mid-task or idle
- The running task keeps streaming, untouched
- The transcript entry joins the history after the turn finishes
- Commands are never queued behind the AI
A Familiar Habit With a New Payoff
The ! prefix works the way it does in Claude Code and the VS Code terminal. The Plexon difference is what happens after the run: the result feeds the AI's context, so a quick check turns into something the AI can act on.
- Same ! habit as Claude Code and VS Code terminals
- The result feeds the AI's next turn
- Output is buffered; interactive PTY programs are not supported
- Live Share guests cannot run shell commands (they would run on the host's machine)
Under the Hood
Per-OS Shell Routing
Reuses the same shell routing as the AI's own command tool: PowerShell cmdlet detection, cmd dialect guards, and Git Bash for POSIX syntax on Windows, with automatic cross-shell retry.
Terminal-Level Trust
Commands you type skip the AI-facing command blocklists. You typed it, so it runs with the same trust as your terminal.
Long Runs Go Background
A command that runs longer than 90 seconds is promoted to the background with its PID instead of being killed.
No Turn Spent
The run itself never calls the AI. The command and its output enter the history and ride into the next message you send.