Install and configure
For a first local installation, use Quickstart. This page is the command reference for installation and setup automation.
Installation
Section titled “Installation”curl -fsSL https://signetai.sh/install.sh | bash# ornpm install -g signetai# orbun add -g signetai
signet --helpOn Windows x64, use the native PowerShell installer:
iwr -useb https://signetai.sh/install.ps1 | iexUse one installation route per machine. Each route installs the same compiled Signet binary; package-manager routes use the matching native package. See Install for platform notes.
Common commands
Section titled “Common commands”macOS Gatekeeper and unsigned CLI binaries
Section titled “macOS Gatekeeper and unsigned CLI binaries”The macOS CLI binaries (signet-darwin-x64 and signet-darwin-arm64) are
unsigned by design until Apple Developer signing is available. A binary
downloaded through a browser may be blocked by macOS Gatekeeper because it has
the quarantine attribute.
To open a trusted binary, right-click it in Finder and choose Open, or go to System Settings > Privacy & Security and choose Open Anyway for the blocked binary. You can also remove the quarantine attribute in Terminal:
xattr -d com.apple.quarantine <path>Only bypass Gatekeeper for binaries downloaded from the official Signet source that you trust. Verify the release and checksum first. For non-server deployments, use the Signet desktop app instead of the CLI binary.
| Command | Purpose |
|---|---|
signet setup |
Create or reconfigure a workspace. |
signet workspace status |
Show the active workspace and where it was resolved from. |
signet workspace set <path> |
Persist and optionally migrate to a new workspace. |
signet configure |
Open the interactive configuration editor (signet config is an alias). |
signet status |
Show agent and daemon status. |
signet doctor |
Run local health checks. |
signet dashboard |
Open the dashboard. |
signet daemon start |
Start the local daemon. |
signet index <path> |
Index a project with optional GraphIQ retrieval. |
signet setup
Section titled “signet setup”signet setupsignet setup --path /custom/workspacesignet setup --schemasignet setup --file ./setup-plan.json --dry-runInteractive setup requires a TTY and opens guided dashboard onboarding. For the default local workspace, the CLI tries the Signet Desktop installation through each OS’s launch target: the Windows signet:// registry handler, the ai.signet.app macOS bundle, or the signet.desktop Linux entry. If Desktop is unavailable or launch fails, it falls back to the local browser URL. Custom workspaces and remote daemons keep the browser handoff so Desktop cannot silently open a different workspace. On a fresh default interactive run, the CLI creates only the protected workspace and minimal configuration/database bootstrap needed to start that flow; it does not preselect providers or harnesses, create identity files, install skills, or initialize Git. Existing workspaces are not reset. For scripted or headless setup, the CLI still supports explicit flags, plans, and JSON output. It prints the onboarding URL if neither handoff can open.
--non-interactivewith flags for a scripted setup or reconfiguration.--file <path>to apply a JSON setup plan.--json <plan>to apply an inline JSON setup plan.--schemato print the JSON Schema accepted by--fileand--json.--dry-runto resolve and print a plan without applying it.
A --file or --json plan is for fresh setup. It does not carry credentials for an interactive provider connection. Reconfigure an existing installation in the dashboard or with --non-interactive flags. The retired extractionConnect plan field is rejected; provider sign-in runs through the daemon from the dashboard.
Identity, location, and harness flags
Section titled “Identity, location, and harness flags”| Flag | Meaning |
|---|---|
-p, --path <path> |
Base path for agent files. |
--name <name> / --description <description> |
Agent metadata for non-interactive setup. |
| `–identity-mode managed | off` |
| `–identity-preset minimal | hermes |
--harness <name> |
Repeatable or comma-separated harness selection. |
| `–network-mode localhost | tailscale` |
--remote-url <url> |
Use a bare remote daemon origin instead of starting a local daemon. |
| `–deployment-type local | vps |
Current setup accepts claude-code, codex, kimi, opencode, forge, openclaw, oh-my-pi, pi, hermes-agent, and gemini harness names. Kimi uses the ACPX agent name kimi. For OpenClaw, --openclaw-runtime-path plugin|legacy selects its integration path and --configure-openclaw-workspace opts into patching discovered configurations.
Inference and search flags
Section titled “Inference and search flags”| Flag | Meaning |
|---|---|
--embedding-provider <provider> / --embedding-model <model> |
Configure embeddings. Validated providers are native, ollama, openai, and none. |
--extraction-provider <provider> / --extraction-model <model> |
Configure background inference. |
--extraction-endpoint <url> |
Endpoint for openai-compatible extraction. |
--aggregate-recall-provider, --aggregate-recall-model, --aggregate-recall-endpoint |
Configure a distinct provider for aggregate recall. |
--search-balance <alpha> |
Semantic/keyword balance from 0 through 1. |
--enable-dreaming |
Enable background memory consolidation. Fresh setups enable Dreaming by default and ask about it during provider/model onboarding; without a working provider it remains enabled but unavailable until one is connected and tested. This flag opts an existing workspace in and updates its Dreaming and pipeline settings in agent.yaml while preserving unrelated configuration. |
When an explicitly selected Ollama service or model is unavailable during non-interactive setup, Signet keeps Ollama selected and reports the problem; it does not silently switch to native embeddings. Setup continues with embeddings unavailable until Ollama is ready; use signet doctor to check readiness.
Validated extraction providers are acpx, claude-code, codex, llama-cpp, ollama, opencode, openrouter, openai-compatible, and none. Explicit provider flags override defaults inferred from --deployment-type.
Current signet setup --help lists llama-cpp as an embedding provider, but setup validation rejects it. Use the validated embedding values above until that discrepancy is fixed.
Automation, safety, and data flags
Section titled “Automation, safety, and data flags”| Flag | Meaning |
|---|---|
--open-dashboard |
Open the dashboard after non-interactive setup. |
--skip-git |
Skip Git initialization and setup commits. |
--disable-signet-secrets |
Keep bundled Signet Secrets installed but disabled. |
--with-graphiq / --disable-graphiq |
Enable or leave disabled the optional GraphIQ plugin. |
--create-local-backup |
Create a snapshot when an OpenClaw-linked workspace lacks an origin remote. |
--allow-unprotected-workspace |
Explicitly bypass that OpenClaw workspace protection. |
--obsidian-source <path[::name]> |
Repeatably add an Obsidian vault source. |
--agent <name:policy[:group]> |
Repeatably add a named agent with isolated, shared, or group memory policy. |
signet workspace
Section titled “signet workspace”signet workspace statussignet workspace set /path/to/workspacesignet workspace set /path/to/workspace --forcesignet workspace set /path/to/workspace --no-patch-openclawworkspace set can migrate files to the target and records the persisted selection. Restart a running daemon afterward. The daemon has a different workspace resolver from the CLI today; see CLI environment and exit codes.
signet configure
Section titled “signet configure”signet configuresignet configBoth commands open the same dashboard onboarding modal as signet setup. Advanced settings remain in the dashboard; scripted changes use signet setup --non-interactive.
signet index and signet graphiq
Section titled “signet index and signet graphiq”signet index .signet index . --no-installsignet graphiq statussignet graphiq doctorsignet index <path> uses GraphIQ when installed, stores the code index at <path>/.graphiq/, and records the active project pointer under the Signet workspace. GraphIQ is optional and does not put its complete project index into Signet memory.

