[FEATURE] Add --no-ansi flag for screen reader accessibility
Status Closed — not planned
Maintainer reply None cached
Activity 11 comments · opened Dec 27, 2025 · closed Apr 5, 2026
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
I am totally blind and use a screen reader to access Claude Code.
I would like to request an improvement to Claude Code regarding the terminal output. The content displayed on screen contains many ANSI formatting characters, which cause fluttering sounds when my screen reader reads the screen. This creates significant accessibility challenges for blind users.
Adding a command-line flag such as --no-ansi to start Claude Code without ANSI formatting characters would greatly improve the experience for screen reader users.
Thank you for your consideration.
Proposed Solution
.
Alternative Solutions
.
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
.
Additional Context
.
11 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
There are many similar issues, and is still not any solution!
I have created a Claude Code plugin that can announce permission prompts and last sentence from Claude in a conversation. It works with all major screen readers (JAWS, NVDA, Orca and Voiceover) on all major platforms (Windows, Linux, Mac), has fallback to a system speech synthesis engine.
Check it out https://github.com/raivisdejus/claude-code-plugins
My experience with assistive technologies is limited, feedback from real users would be appreciated.
Additional Use Case: GitHub Actions CI/CD Logs
I'd like to add another use case for the
--no-ansiflag: clean logs in CI/CD environments, specifically GitHub Actions.The Problem
When using the claude-code-action in GitHub Actions workflows, the Claude Code installer outputs ANSI escape sequences that get corrupted in the GitHub Actions log viewer. This results in garbled, unreadable text:
Instead of the intended:
What We've Tried
We attempted to disable ANSI output by setting standard environment variables:
TERM=dumbat the job levelNO_COLOR=1at the job levelHowever, the Claude Code installer doesn't respect these conventions, and the output remains garbled in GitHub Actions logs.
Why This Matters
NO_COLORandTERMenvironment variablesProposed Solution
A
--no-ansiflag (or respectingNO_COLOR/TERMenvironment variables) would solve this for:This would align Claude Code with industry best practices - see https://no-color.org/ for the standard many tools follow.
Related Issue
I've also reported this specific GitHub Actions issue at claude-code-action#882 for action-specific solutions.
Thanks for considering this feature request!
I am installing Claude Code in a Dockerfile, built with
docker build --progress=plainsetting. The output of installer is unreadable:The installer should detect it is running in environment where the escape sequences are not effective.
I've been working on Claude A11y– it makes AI chat interfaces actually usable with screen readers. I started with Claude's tools, then expanded to ChatGPT, Gemini, and Copilot. It includes a Chrome extension, a VS Code extension, and a CLI wrapper that strips ANSI formatting. Would love feedback and feature improvements as I am actively developing this:
https://github.com/JacquelineDMcGraw/claude-a11y
I've been following this thread and built an open-source tool that addresses the output formatting side of these problems: claude-sonar.
I've been using Claude Code like it's a religion for the past year, and reading this thread honestly horrified me. The tool output is already spammy just visually reading it — I can't imagine what that experience is like through a screen reader. So I built this.
It uses Claude Code's hooks system to intercept tool output and reformat it into screen-reader-friendly summaries. Instead of raw JSON or walls of code, you get concise announcements like "Edited auth.ts, changed login function" or "npm test failed, 47 passed, 2 failed."
What it does:
say(macOS) orspd-say(Linux)What it doesn't solve:
--no-ansirequest. Those need upstream changes in Claude Code itself.This is complementary to @raivisdejus's plugin — their approach talks directly to screen reader APIs (JAWS, NVDA, Orca, VoiceOver), while claude-sonar focuses on reformatting the tool output itself into something that makes sense when spoken.
Install:
npm install -g claude-sonar && claude-sonar setupA note on what this is: I'm putting this out as a seed project for the community, not something I plan to actively maintain long-term. It's MIT-licensed, has 545 tests, full docs, and a CLAUDE.md so that Claude Code itself understands how to work on it — the intended workflow is to use AI-assisted development to contribute. My hope is that people who actually live with screen readers daily will fork this and shape it into what they need. I'll try to respond to bug reports, but this is meant to be yours.
There may be bugs — the scaffolding is solid but I'm not a screen reader user, so the output quality needs real-world feedback. There's a dedicated screen reader feedback template for reporting output that sounds wrong or confusing.
@vylasaven what you've shared is incredibly valuable and is frankly the next step in a toolset development such as this– would you mind if I utilized some of your methods and credited you in my repo?
Absolutely — please do\! That's exactly why it's MIT-licensed and why I built it as a seed project. Take whatever's useful, adapt it to your needs, and credit is appreciated but not required. I'd love to see what you build with it. If you run into anything in the codebase that's unclear, feel free to open an issue or reach out.
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.