pingdotgg / pingdotgg/t3code

[Bug]: Model error messages render as broken raw JSON in the UI

Open
#3,747 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-triage
Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/desktop

Steps to reproduce

Instead of rendering as a normal error message, it shows up in a weird broken layout, with some of the message appearing duplicated or cut off.

  1. Open T3 Code on Arch Linux with Qtile.
  2. Trigger a model-related error in the composer/chat UI.
  3. Observe how the error is displayed.
Expected behavior

T3 Code renders model error messages incorrectly as raw JSON / broken text instead of a readable error banner. The error text appears visually garbled and partially clipped in the UI.

A clean, readable error message should appear in the UI, with proper formatting and no raw JSON leaking into the chat/composer area.

Actual behavior

The error is shown as raw JSON-like text and appears broken/clipped, for example:

{"type":"error","status":400,"error":{"type":"invalid_request_error","message":"The 'gpt-5.3-codex' model is not supported when using Codex with a ChatGPT account."}}

This seems like a UI rendering / layout issue rather than the API error itself. The error payload is being displayed directly in the interface and the container sizing/overflow looks wrong on this setup. I attached a screenshot showing the exact rendering issue.

Impact

Cosmetic issue

Version or commit

0.0.28

Environment

Arch Linux with Qtile WM.

Screenshots, recordings, or supporting files

2026-07-06_22-59.png

Workaround

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in apps/desktop and reproduce the model-related error from the composer/chat UI using the payload shown in the issue. Trace where that error is rendered and verify that the completed change displays a readable error banner without raw JSON, duplication, clipping, or broken layout.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.