Troubleshooting
Diagnose installation, linking, launch, Git, and terminal problems.
Installation Is Required
If a command reports that installation is incomplete, run:
mate installMate records install state separately for each companion context. A changed companion configuration, changed dependency plan, missing tool, or Mate update can make that state stale. In a non-interactive process, use:
mate install --yesInspect The Active Context
mate doctorCheck the reported state, companion path, repository ID, allowed agents,
capabilities, and missing commands. The expected launch state is
linked-working-repository.
No Companion Is Found
Run the link wizard from the working repository:
cd /path/to/working-repo
mate companion linkThe command requires a TTY. If you are inside a subdirectory, Mate searches
upward for the nearest .mate/config/registry.yaml.
Multiple Companions Match
The working repository can have more than one valid companion pointer. Run the command in a TTY so Mate can prompt for a choice. For scripts, pin the context:
MATE_ARTIFACT_PATH=/path/to/companion \
MATE_REPO_ID=my-repo \
mate claudeIf a pointer refers to a directory that no longer exists, Mate drops that stale pointer from the repo-local registry.
A TTY Is Required
These workflows are interactive:
mate companion setupselectionmate companion linkmate companion tui
Run them from a local terminal. Setup can accept explicit selection flags, but initializing an unrecognized directory may still ask for confirmation.
Agent Launch Fails
Launch only from the linked working repository:
mate claude
mate opencodeIf the selected profile disallows the requested agent, re-run setup and allow
that provider. If the agent command itself is missing, use mate doctor to
find the missing requirement.
Forward agent-specific flags after --:
mate opencode -- --continueCompanion Git Synchronization Fails
When Git auto mode is enabled, Mate fetches the configured upstream and merges it before syncing managed companion files. Resolve unfinished operations or conflicts in the companion repository, then retry the launch.
To bypass synchronization for one launch:
mate claude -- --no-git
mate opencode -- --no-gitThe switch must appear after the argument separator. Mate protects managed paths during conflict recovery, but unrelated conflicts still require manual resolution.
Update Fails
Self-update works only when Mate was installed globally through npm. Check the current version without changing anything:
mate update --checkIf self-update reports that the installation is not npm-managed, reinstall the published package:
npm install -g @uniqbit/mate
mate installCapability Indexing Fails
Run the indexer explicitly to isolate the failing capability:
mate cap index --graphify
mate cap index --tokensaveThen run mate doctor and verify the relevant capability and command are
selected and installed. TokenSave uses a repo-local .tokensave store; Graphify
and TokenSave cannot be forced together in one command invocation.