Skip to content

Shell integration (zsh)

Prompt the agent without leaving your shell. The plugin is generated by the binary itself — hotl init zsh prints it — and gives you three things:

  • The : prefix. A command line starting with : becomes an agent prompt: : fix the failing test runs hotl -p "fix the failing test". Everything else runs as normal shell.
  • @[path] file capture. Inside a prompt, @[path] tokens are replaced by that file’s contents, wrapped in a source-labeled block so the model knows where the text came from. An unreadable path leaves the token in place with an inline note — never silently dropped, never a hard error.
  • OSC-133 marks. The plugin emits shell-integration escape sequences around each prompt and command, so terminals that understand them (and hotl watch) can find prompts and command boundaries in the scrollback.

Assumes a working agent (quickstart.md) and zsh.

Add one line to ~/.zshrc:

eval "$(hotl init zsh)"

Reload (exec zsh or open a new terminal). mutates: this rebinds zsh’s accept-line widget and adds precmd/preexec hooks; it changes no files other than your ~/.zshrc edit.

From any prompt:

: what does the Makefile's deploy target actually do? @[Makefile]

The line becomes hotl -p '…' with the Makefile contents attached; the agent answers in your terminal and exits. It’s a normal headless run — the permission gate, sandbox floor, and session log all apply, and the session shows up in hotl resume like any other.

Plain commands are untouched:

ls -la # runs as ls, no agent involved
:ls # also plain shell — the prefix is colon-space

Delete the eval "$(hotl init zsh)" line from ~/.zshrc and reload. Nothing else to clean up — the plugin lives in shell memory, not on disk. Full removal of hotl itself: uninstall.md.