Troubleshooting

Most problems come from something microManager cannot see from your login shell, such as an agent CLI not on the PATH, the GitHub CLI signed out, or a file that is tracked rather than ignored. Each section below names the symptom and the fix.

Updated

Why does an agent show as not found?

On macOS and Linux, microManager looks commands up on your login shell’s PATH, the same one a new terminal window gets. Check what that shell finds (use bash -lc if your shell is bash):

zsh -lc 'command -v claude codex grok opencode gemini'

On Windows it uses the PATH Windows gives apps, including npm’s .cmd shims. Check it in a new PowerShell window:

where.exe claude codex grok opencode gemini

If a command is missing on Windows, reinstall the agent or add its folder to your user PATH in Windows’ own settings, then restart microManager. On macOS and Linux, if the command is missing from the login shell but works in your terminal, it is probably added to PATH in a file only interactive shells read (such as .zshrc). Either move that line to .zprofile, or open Settings → Agents and set the profile’s command to the absolute path. Detect checks it again and shows the version it found; Not working instead of Not found means the command is there but its version check failed, and hovering over it shows why.

Why is Codex found but not starting?

If codex is the npm launcher, microManager looks for the native binary the package installs beside it. If you installed Codex some other way, set the Codex profile’s command to the native codex binary’s absolute path.

Why do Create PR, Checks or Merge do nothing?

Pull request features use the GitHub CLI. Make sure it is installed and signed in:

gh auth status

If it is not signed in, run gh auth login, then give it a minute: microManager checks the open workspace’s pull request every minute and other workspaces’ pull requests every five minutes.

What do I do when the setup script fails?

Choose Show output on the bar above the chat, or open the Setup tab of the terminal drawer (⌘J, or Ctrl+J on Windows and Linux), to read the output. Fix the cause, then choose Run again on the bar or Run setup again in the drawer. Remember that scripts run in the workspace folder, not the repository’s main checkout; use $MICROMANAGER_ROOT_PATH to reach files there.

Why does a dev server say its port is in use?

Every workspace has its own ten ports starting at $MICROMANAGER_PORT (also $CONDUCTOR_PORT). Start servers on that port rather than a fixed one. If a script must use a fixed port, set scripts.run_mode = "nonconcurrent" so only one workspace runs it at a time.

Why was my .env not copied?

Only files git ignores or does not track are copied, and a file that already exists in the new worktree is never overwritten. Also check which list is in effect: a .worktreeinclude file in the repository root replaces file_include_globs. See files to copy.

Why do my scripts run in PowerShell on Windows?

microManager runs setup, run and archive scripts in Git Bash, which comes with Git for Windows, and in PowerShell only when it cannot find Git Bash. Install Git for Windows, then restart microManager, so bash scripts written on a Mac work as they are. Claude Code then runs its own shell commands in Git Bash too, instead of PowerShell.

Why does Windows warn that the installer is from an unknown publisher?

The Windows installer is not code-signed yet, so Microsoft Defender SmartScreen may warn about it. Check the file’s SHA-512 against latest.yml as the download page shows, then choose More info and Run anyway.

Why did Import from Conductor skip some workspaces?

Import from Conductor is only offered on a Mac, because that is where Conductor keeps its data. A repository is skipped when Conductor hides it or its folder is gone (the preview marks it Folder missing), and an active workspace when its folder no longer exists. Archived workspaces are skipped unless you switch on Include archived workspaces; they come over archived, ready to restore, even though their folders are gone. Chats with agents microManager does not run, such as Cursor, are skipped too. Running the import again is safe: anything already imported is skipped, so it only adds what is missing.

Why does an imported chat have no earlier messages?

Earlier messages are read from the agent’s own transcript files: Claude Code’s under ~/.claude/projects/ and Codex’s under ~/.codex/sessions/, including the older ones Codex compresses to .jsonl.zst. If those files were deleted, the chat shows no earlier messages and the agent no longer has the conversation either, so your next message starts a new one with it, and the chat tells you so. Chats with ACP agents such as OpenCode have no transcript microManager can read, so they show no earlier messages. Very long chats keep their newest 2,000 events.

Why was the branch not renamed after my first message?

Automatic naming only renames a branch that still has its placeholder city name, has never been pushed and has no pull request, and only when Name workspaces from the first message is on in Settings → General. Rename it yourself from the workspace header if you need to.

What if nothing here helps?

Email hello@micromanager.win with what you did, what you expected and what happened, plus your microManager version and your operating system and its version. For security problems, write to security@micromanager.win.

Where to go next

Get microManager

Free, no account, for macOS, Windows and Linux. It runs the agent CLIs you already have installed and signed in.

curl -fsSL https://micromanager.win/install.sh | sh

That installs it on macOS and Linux. On Windows, paste this into PowerShell:

irm https://micromanager.win/install.ps1 | iex