[BUG]: Dollar Skill invocation in question tool UI glitches out
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
What happened
When a provider asks the user a question, the custom-answer composer still supports $skill suggestions and renders selections as skill tokens.
Submitting this composer responds to the pending question with plain answer strings. It does not start a provider turn or explicitly invoke the selected skill. The picker can remain visible after submission, the previous answer can leak into the next question, and the editor enters recursive update failures.
This affects web and desktop. Mobile uses a plain text input for question answers.
Steps to reproduce
- Start a thread with a provider that can request user input.
- Have the provider open a question with a custom-answer field.
- Type
$find-skillsinto the custom answer. - Select the skill suggestion or add a trailing space.
- Submit the answer.
Expected behavior
Question answers should treat $skill syntax as plain text. They should not show skill suggestions or create skill tokens.
Submitting should send the answer once and reset the composer state.
Actual behavior
The custom-answer editor shows the skill picker even though pending question responses only support answer strings. After submission, the picker can remain visible and the previous $find-skills value can leak into the next question. The provider may infer the skill from the text, but T3 did not explicitly invoke it.
Impact
Major degradation or frequent failure.
Version and environment
- T3 Code Desktop Alpha 0.0.33
- Reproduced on
mainat549201fcf - macOS 26.6.2, arm64
- T3 Code desktop and web client
- Claude Agent with Claude Opus 5
Logs
Uncaught Error: Maximum update depth exceeded
Uncaught RangeError: Maximum call stack size exceeded
ComposerPromptEditor.tsx
Uncaught Error: Point.getNode: node not found
Lexical
Recording
https://github.com/user-attachments/assets/5f35e3a5-20cd-4ad2-b94a-ffebe60be771
Workaround
Avoid $skill syntax in custom question answers. Select a predefined answer or enter plain text without $.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the custom-answer flow in the web or desktop client, then inspect ComposerPromptEditor.tsx alongside the Maximum update depth, call stack, and Lexical errors. Verify the behavior with a $skill entry, selection, trailing space, submission, and a subsequent question. Done means $skill remains plain text, no picker or skill token appears, the answer is sent once, and composer state resets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100