[Feature]: Add Cursor to Native Chat UI (Korean IME broken in terminal TUI on Windows)
- Dominant language
- TypeScript
- Stars
- 72.1k
- Forks
- 4.7k
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 520
Description
### Problem / use case
Cursor CLI launches correctly in Orca as a **terminal TUI** tab (`Cursor Agent`, `Plan, search, build anything…`), but **Claude Code and Codex open in the Native Chat UI (Agent view)** in the same workspace.
On **Windows 11** with **Korean IME**, typing Hangul in the Cursor terminal TUI causes **composition/caret desync** (characters shift or misalign while typing). Claude and Codex do not exhibit this in Orca because they use the **web-based Chat UI input**, not xterm + TUI.
Settings like `openAgentTabsInChatByDefault` and `experimentalNativeChat` are enabled, but Cursor still always opens as terminal — which matches the current code path.
### Current behavior (v1.4.x)
In `native-chat-agent-support.js`, Native Chat is limited to:
- `claude`, `openclaude`, `codex`, `grok`, `omp`
**`cursor` is not in `NATIVE_CHAT_SUPPORTED_AGENT_LIST`**, so Orca has no Chat UI path for Cursor today.
Related: #7766 (broader Cursor provider / sidebar progress request)
### Expected behavior
- Cursor agent tabs should be openable in **Native Chat UI (Agent view)**, same as Claude/Codex
- New Cursor tabs should respect `openAgentTabsInChatByDefault` when Chat UI is enabled
- Terminal ↔ Chat toggle should work for Cursor sessions (where applicable)
### Why this matters
Orca users who orchestrate multiple agents side-by-side need **consistent input UX**. For CJK users, terminal-only Cursor is effectively unusable for interactive prompts, while Claude/Codex Chat UI works fine in the same app.
### Environment
- OS: Windows 11 (10.0.26200)
- Orca: desktop (recent 1.4.x)
- Agent: Cursor CLI (`cursor` / Cursor Agent)
- UI language: Korean
- IME: Microsoft Korean IME
### Possible implementation notes
- Parse Cursor agent transcript/session format for Native Chat rendering (similar to Claude/Codex hooks)
- Add `cursor` to `NATIVE_CHAT_SUPPORTED_AGENT_LIST` once transcript + send path is wired
- Consider structured chat mode if Cursor exposes a machine-readable session stream
### Workarounds today
- Use Claude/Codex Chat UI inside Orca for Korean prompts
- Use Cursor IDE Composer (`Ctrl+I`) outside Orca
- Paste Hangul from an external editor into Cursor terminal TUI (fragile)
Contributor guide
Research direction
Start with native-chat-agent-support.js and trace how Claude and Codex are added to Native Chat, including transcript rendering and message sending. Determine the Cursor session format and whether it provides a machine-readable stream. Done means Cursor tabs can open in Agent view, honor openAgentTabsInChatByDefault, and support the terminal-to-Chat toggle without breaking existing agents.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100