Symptom-first, fix-first. Run che doctor for a quick sweep before
digging into specifics.
Source: github.com/chevp/che-cli · Back to overview
zsh: command not found: cheThe dispatcher installed but its directory isn’t on $PATH.
echo $PATH # does it contain ~/.local/bin?
ls -l ~/.local/bin/che # is the file there?
Re-run the installer — it will write the right export PATH=... line to
your shell rc and tell you which file it touched.
./install.sh
source ~/.zshrc # or open a new terminal
If you want to handle PATH yourself, run CHE_NO_PATH_EDIT=1 ./install.sh
and add the printed line to your dotfiles.
che commit: nothing staged, nothing to commitgit diff --cached came back empty. che commit always runs git add -A
first, so this means the working tree is genuinely clean. Make a change
and try again, or check that you’re in the right repo with git status.
che commit: provider 'ollama' not reachableThe local Ollama server isn’t responding on $CHE_OLLAMA_HOST
(default http://localhost:11434).
che doctor ollama # full diagnostics
curl http://localhost:11434/api/tags
ollama serve # start it manually if not running
If you haven’t installed Ollama yet, follow the companion guide cura-llm-local — it walks through the model pull as well.
che commit: provider 'claude-code' not reachableThe claude CLI isn’t on $PATH. che never speaks to cloud LLMs over
HTTP — it shells out to the CLI, so the CLI must be installed and logged
in.
command -v claude # is the binary on PATH?
claude --version # confirm install
che doctor claude-code # full diagnostics
Install Claude Code from https://docs.claude.com/claude-code and run
claude once interactively to complete login.
che commit: provider 'copilot' not reachableSame root cause, different binary: the copilot CLI isn’t on $PATH.
command -v copilot # is the binary on PATH?
copilot --version # confirm install
che doctor copilot # full diagnostics
Install the GitHub Copilot CLI from
https://docs.github.com/en/copilot/how-tos/use-copilot-agents/use-copilot-cli
and sign in once with copilot to complete login.
che commit: LLM returned empty messageThe provider responded but the parsed message was blank. Two common causes:
CHE_MAX_DIFF_CHARS (default 8000) or commit in smaller chunks.CHE_OLLAMA_MODEL=llama3.1) or switch providers.Run with --dry-run to see what the model actually returned without
committing:
che commit --dry-run
ui_spin installs traps to restore the cursor and clear the line on
EXIT / INT / TERM. If you still see a leftover glyph, your terminal
multiplexer (tmux, screen) may have intercepted the signal. A fresh
prompt or tput cnorm; clear will fix the display.
che ship skips a submoduleche ship skips submodules that are in detached HEAD state — there’s
no branch to push to. Check the submodule out on a real branch first:
cd path/to/submodule
git checkout main # or whichever branch you want
cd -
che ship
The prompt asks for a title plus 2–5 bullet points (skipping the body for trivial changes). If the model ignores the format, three things to try:
--edit to open $EDITOR with the message pre-filled:
che commit --edit.CHE_PROVIDER=claude-code or
CHE_PROVIDER=copilot) — they follow format instructions much more
reliably than small local models.--dry-run repeatedly to sample outputs and see whether the issue
is the prompt or the model.che doctor says everything is fine, but commits still failRun the failing command with bash’s trace flag to see exactly where it breaks:
bash -x ~/.local/lib/che/git/commit.sh
If the error is in a provider client, do the same for that file:
bash -x ~/.local/lib/che/ollama/client.sh
If you find a reproducible bug, please open an issue at
github.com/chevp/che-cli/issues
with the trace output and your che doctor results.
© 2025 Patrice Chevillat · Terms · Privacy · Impressum · Contact