Shell prompt with ANSI color codes renders as raw escape sequences
Resolved 💬 4 comments Opened Feb 13, 2026 by tiessa Closed Apr 3, 2026
Description
When using a custom zsh prompt that includes ANSI color codes (via %{$fg[...]%} sequences), Claude Code's directory/prompt display renders the raw escape sequences instead of either stripping them or interpreting them.
Reproduction
- Configure a custom zsh
PROMPTwith color sequences, e.g.:
PROMPT='$(python_venv)%{$fg[blue]%}%~%{$reset_color%}$(git_branch) %{$fg[white]%}$%{$reset_color%} '
- Launch Claude Code
- The prompt/directory display shows:
(\033[32mvenv\033[0m) /Users/user/project (\033[33mmain\033[0m)
Expected behavior
The display should either:
- Strip ANSI escape codes and show plain text:
(venv) ~/project (main) - Render the colors correctly
Environment
- macOS (Darwin 25.2.0)
- Shell: zsh
- Claude Code (latest)
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗