Skip to content

fix(output): render values as visible text in human output - #176

Draft
joshdholtz wants to merge 3 commits into
mainfrom
output-text-tidy
Draft

joshdholtz wants to merge 3 commits into
mainfrom
output-text-tidy

Conversation

@joshdholtz

@joshdholtz joshdholtz commented Sep 18, 2026

Copy link
Copy Markdown
Member

API values are arbitrary text. Human-mode rendering — table cells, key/value output, the interactive browser's rows/detail fields, and select option labels — now drops non-printing characters before writing to the terminal, through one shared helper. --json output is unchanged (the encoder already escapes losslessly). Tests cover the helper and each render path.

joshdholtz and others added 3 commits September 18, 2026 09:53
Values coming back from the API are arbitrary text; table cells, human
key/value output, browser rows and detail fields, and select option labels
now drop non-printing characters before rendering. --json output is
unchanged (the encoder already escapes losslessly).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- cards (rc customers show), browser breadcrumbs/error lines, chart titles,
  huh picker labels, cursor hints, Answer values, and the top-level error
  printer now go through the same helper
- single-line variant for cells/labels/crumbs so values can't span rows or
  shift columns
- JSON keeps values losslessly escaped, now including C1 codepoints, which
  encoding/json passes through as raw bytes
- OSC 8 link URLs can no longer terminate their own sequence

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- rico plain stream deltas, chat transcript entries (the markdown renderer
  passes control characters through), tool/approval labels, conversation
  show, and error lines
- --format string results decode JSON escapes back to raw bytes; keep them
  visible-text like every other path
- rc api raw bodies get the same C1 escaping as encoded JSON
- paywalls AI activity lines, chart refetch title/unit, single-option
  picker echo

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant