stablyai / stablyai/orca

[Feature]: Add Cursor to Native Chat UI (Korean IME broken in terminal TUI on Windows)

Open
#19,971 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.