Set up shell completion and your editor¶
This guide turns on <TAB> completion for sase commands and points your editor at
SASE's language server. It assumes SASE is installed; both steps are optional and
independent, so do either one alone.
Before you start¶
You need to know your shell (zsh, bash, or fish) and, for the editor half, an
editor that speaks the Language Server Protocol over stdio.
1. Install shell completion¶
Detect the shell, write the loader, and verify the install:
sase completion install
The installer never edits rc files; it writes the completion script itself and prints a
zstyle snippet for ~/.zshrc when one applies. Open a new shell afterward, because
completion scripts load once at shell startup. Confirm the install any time:
sase completion list
Never eval "$(sase completion zsh)" in an rc file: that pays a full sase startup on
every new shell. Write the script to a file instead, which is what the installer does.
2. Point your editor at the language server¶
Verify the wrapper, then configure the editor to launch sase lsp as a stdio language
server:
sase lsp --version
The wrapper prints the server version (for example sase-macro-lsp 0.40.0). In editor
configuration terms, the command is sase and the argument list is ["lsp"]. The
server completes macro names, directives, models, and artifact references, and reports
hover, diagnostics, and jump-to-definition while editing prompts and macros.
If it goes wrong¶
For completion, sase doctor runs the same install checks the installer uses; add
-D -C completion.registration to probe a real shell when a new shell still completes
nothing. For the editor, a server that cannot start usually needs a full SASE update or
the SASE_MACRO_LSP_CMD override in
Editor integration.
Related¶
- Shell completion — loaders, value kinds, caching, and latency.
- Editor integration — language-server features and the helper bridge.
_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A sase workspace is a numbered clone of a project's primary repo, managed by the workspace store and tracked in that project's registry.json. _[agent]: A sase agent is an agent session or a single agent that does not belong to a session. _[prompt]: A prompt is the text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker. _[plan]: A plan is a persisted, approved artifact recording the intent behind agent work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing results. _[epic]: An epic is an executable multi-phase plan run with sase bead work. _[gate]: A sase gate is a durable, command-backed request for one user decision, created when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that runs one long command under a detached supervisor, so the command outlives the agent that started it. *[stitch]: A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.