onadit Docs
Reference / Troubleshooting
Download

Troubleshooting

Start with rift doctor. It names what is wrong and gives 1 action. This page lists every state it can report and every line rift status prints.

Start here#

sh
rift doctor
When all is well
Rift is working. Nothing needs attention.

If the shell answers command not found: rift, the command is not on your PATH. A package install puts it at ~/.rift/bin/rift. Use that full path, or add the folder to your PATH.

rift doctor only reads. It exits with code 1 when something is broken. To hand the problem to an agent, run rift doctor --copy-prompt. It builds a prompt with private details removed and copies it.

The engine does not answer#

What you seeCauseDo this
"Rift is not set up on this Mac yet"No config filerift onboard
"Rift has no access token on this Mac"No token in the Keychainrift token issue
"Rift's daemon rejected this command's token"The token is out of daterift token issue
"Rift's background engine is not responding"The engine is not runninglaunchctl kickstart -k gui/$UID/com.getrift.daemon
"Login Keychain is locked"Common over SSHsecurity unlock-keychain ~/Library/Keychains/login.keychain-db
The installer says port 3577 is in useAnother program holds the portStop that program, then run the installer again

Engine logs are in ~/Library/Logs/Rift/ on a package install.

What doctor can report#

Doctor checks these in order and leads with the first one that is broken. Errors from before the engine last started are ignored.

StateLevelMeansDo this
voyage_key_missingBrokenCapture is on and there is no embedding keyTurn Search by meaning on in the app's Privacy settings, or rift onboard --reconfigure-voyage
semantic_search_offWarningNo embedding key. Keyword search worksThe same, if you want search by meaning
codex_auth_expiredBrokenCodex is signed outcodex login
codex_preflight_failedBrokenCodex could not run. See the table belowDepends on the cause
claude_auth_expiredBrokenClaude Code is signed outRun claude and sign in
claude_preflight_failedBrokenClaude Code could not run. See the table belowDepends on the cause
voyage_embed_errorsBrokenAn embedding request failedrift status, then rift onboard --reconfigure-voyage if it names the key
index_write_errorsBrokenA write to the index failedrift status, then rift reindex
capture_failedBrokenThe last Capture run had errorsNothing. Onadit retries
capture_daemon_staleWarningA scheduled run failed, but a later manual run workedNothing
inbox_import_errorsWarningAn export dropped in the inbox could not be readExport again and drop the new file
mcp_not_installedWarningA tool on this Mac is not connectedrift mcp install --client=<name>
menu_bar_unavailableWarningSwiftBar is not installedInstall SwiftBar, then rift menubar install
menu_bar_brokenWarningThe menu-bar plugin is damagedrift menubar install
capture_quarantinedWarningSome sessions were too large and ran out of retriesrift doctor repair capture-large-sessions
capture_repairingWarningLarge sessions are being saved in the backgroundNothing
update_availableWarningA newer version is outSee Update

When Capture cannot use Codex#

Capture runs a short check before each run. If it fails, rift status shows why.

CauseMessageDo this
auth"Codex login appears to have expired."codex login
model"Codex rejected the model …"Set codex_cli.model in the config to a model your plan offers
cli_incompatible"Codex CLI is too old for capture"Upgrade Codex
binary"Codex CLI could not be found or started"Check that it is installed and on the PATH
rate_limit"Codex hit a rate/usage limit or is out of credits"Wait, or check your plan
timeout, backend, unknownA timeout or a network problemNothing. Onadit retries

These are problems with the Codex install or its sign-in. Onadit does not hold a Codex or OpenAI key.

When Capture cannot use Claude Code#

CauseDo this
missingInstall Claude Code, or set RIFT_CLAUDE_CLI_PATH
incompatibleUpgrade Claude Code
wrapperA wrapper script is in the way. Set RIFT_CLAUDE_CLI_PATH to the real binary
authRun claude and sign in
rate_limitWait
networkCheck your connection
timeout, unknownNothing. Onadit retries

What rift status prints#

LineWhat it tells you
HeaderThe version, whether the engine is running and for how long, and the port. A cross after the port means Capture is on with no embedding key
Voyage:The embedding key is valid, and when it was last used. Replaced by Search: when there is no key
Search:keyword on · semantic off when there is no key
Index:When the index was last written, and the last error if there was one
Inbox:Whether an export was dropped in data/inbox/, and how many are pending
Memory:How many conversations, digests and documents Onadit holds, and why a count is 0
Codex CLI: or Claude Code:Whether the tool Capture uses is signed in and working
Capture:The last run: how many sessions were saved, sent to review, or failed, and when the next run is due
Cursor:, Cowork:, Grok CLI:Whether each opt-in source is on, and how to turn it on
App chats:Chat apps found on this Mac whose chats need an export
MCP:Which tools are connected. A cross comes with the command that fixes it
Menu bar:Only shown when the menu-bar item is missing or broken
Update:Only shown when a newer version is out
Next:1 action, or "nothing broken"

The reasons a Memory: count can be 0: for digests, AI enrichment off or none yet. For documents, no sources, source missing, source empty or Voyage key missing.

Other messages#

MessageDo this
"Authentication failed. Run: rift token issue"Run it
"Cannot connect to daemon"Restart the engine with the launchctl kickstart command above
"Config not found"rift onboard, or point RIFT_CONFIG at the file
"Config invalid"Fix the key it names. Unknown keys are rejected
"has keys this CLI does not recognize"The config was written by a newer version. Update Onadit
"Rate limited. Retry later."Wait a minute
"Another exclusive operation is running"A rebuild or reindex is in progress. Wait for it

Common fixes#

  • The menu-bar icon is missing: open SwiftBar, then run rift menubar install.
  • The Claude Code hook gets in the way: set RIFT_POLICY_DISABLED=1, or remove the rift-policy.mjs entry from ~/.claude/settings.json.
  • Search by meaning stopped working: rift onboard --reconfigure-voyage replaces the key.
  • An agent does not use Onadit: check the MCP: line in rift status, then add the line to your rule file.

Last updated 12 October 2026. This page is also available as Markdown, and every page is listed in llms.txt.