Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
42cfe1f
Bump Claude Agent SDK and add Opus 4.7 models (#1)
aletc1 Apr 17, 2026
302876d
Swap Enter/Shift+Enter in agents prompt editor (#3)
aletc1 Apr 17, 2026
16bc196
Bugfix/white page startup (#4)
aletc1 Apr 17, 2026
71698f9
Feature/aside version (#5)
aletc1 Apr 17, 2026
e66c657
fix(windows): normalize git paths to POSIX so sidebar tree view works…
aletc1 Apr 17, 2026
d9d6df7
ui(agents): widen chat column from max-w-2xl to max-w-4xl (#8)
aletc1 Apr 17, 2026
d034b22
feat(agents): add Claude thinking effort selector
aletc1 Apr 17, 2026
afa8d5c
merge: bring dev into feature/thinking-effort, resolve models conflict
aletc1 Apr 17, 2026
0f4dcab
FEATURE: Claude code review latest models usage (#10)
aletc1 Apr 17, 2026
f083771
feat(agents): per-mode default model settings with autoswitch (#11)
aletc1 Apr 17, 2026
f1f3e7e
ui(agents): light-theme overlays + draggable top strip (#12)
aletc1 Apr 17, 2026
31972c1
feat(usage): add usage statistics page with Claude + Codex cost track…
aletc1 Apr 17, 2026
b643d9e
chore(claude): bump SDK/CLI to 2.1.114 + refresh slash commands (#15)
aletc1 Apr 18, 2026
e148464
feat(agents): per-mode thinking effort, wider columns, drag-region fi…
aletc1 Apr 18, 2026
5a435fe
FIX: Disclaimer and hamburguer (#17)
aletc1 Apr 18, 2026
30e0473
fix(stability): remaining crash/hang fixes from stability pass (#18)
aletc1 Apr 18, 2026
39e1869
fix: listener leaks, abort sessions on delete, bump diff viewer (#19)
aletc1 Apr 18, 2026
822cbf4
fix: remote-ahead push dialog, PR cache invalidation, tool registry, …
aletc1 Apr 18, 2026
d120bbc
chore: hide update + changelog + feedback UI (#21)
aletc1 Apr 18, 2026
c62708e
feat(models): add Sonnet 1M and GPT-5.4 with usage warnings + recover…
aletc1 Apr 18, 2026
22a5685
feat: copy popover, optimistic sub-chats, worktree cleanup, sortable …
aletc1 Apr 18, 2026
ff0af9b
feat: PR widget + comments, branch switcher popover, two-column commi…
aletc1 Apr 18, 2026
f2cc80e
fix(worktrees): prevent accidental worktree deletion (#25)
aletc1 Apr 18, 2026
4178b94
feat: drag-to-split, queue reorder, Cmd+Shift+T, PR auto-refresh (#26)
aletc1 Apr 18, 2026
3f0f7a8
Security, perf, and robustness hardening (audit-driven) + README refr…
aletc1 Apr 18, 2026
1e1b1f6
fix(review): apply configured Review-mode model on Review button clic…
aletc1 Apr 20, 2026
f02a20d
fix(worktree): use login-shell PATH when running setup scripts (#29)
aletc1 Apr 20, 2026
25f5b3e
feat(providers): add Azure DevOps support for PR operations (#30)
aletc1 Apr 20, 2026
b560081
feat(archive): split workspace deletion from archive flow (#31)
aletc1 Apr 21, 2026
92ceb82
fix(file-viewer): make markdown/image viewer header buttons clickable…
aletc1 Apr 22, 2026
e4561ab
feat(details-sidebar): add Tasks widget for live tool execution (#33)
aletc1 Apr 22, 2026
d65b909
chore(deps): bump Claude SDK to 0.2.118 and Codex to 0.124.0 (#34)
aletc1 Apr 23, 2026
278f040
fix(worktree): fetch base branch before creating worktree (#35)
aletc1 Apr 24, 2026
cd44715
feat(agents): ship CLI-parity built-in subagents to embedded SDK
aletc1 Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/worktrees/fervent-volhard-90de58
Submodule fervent-volhard-90de58 added at 9f1bc7
1 change: 1 addition & 0 deletions .claude/worktrees/vibrant-gates-8bad30
Submodule vibrant-gates-8bad30 added at 36f047
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ const projectChats = db.select().from(chats).where(eq(chats.projectId, id)).all(
- **React Query**: Server state via tRPC (auto-caching, refetch)

### Claude Integration
- Dynamic import of `@anthropic-ai/claude-code` SDK
- Dynamic import of `@anthropic-ai/claude-agent-sdk` SDK
- Two modes: "plan" (read-only) and "agent" (full permissions)
- Session resume via `sessionId` stored in SubChat
- Message streaming via tRPC subscription (`claude.onMessage`)
Expand Down
48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
> **⚠️ Fork Notice:** This is a personal fork of [21st-dev/1code](https://github.com/21st-dev/1code) maintained by [@aletc1](https://github.com/aletc1). It includes additional features and fixes not yet merged upstream. For the official release, visit the [original repository](https://github.com/21st-dev/1code).

# 1Code

[1Code.dev](https://1code.dev)
Expand All @@ -6,6 +8,52 @@ Open-source coding agent client. Run Claude Code, Codex, and more - locally or i

By [21st.dev](https://21st.dev) team

## Fork Additions

Enhancements added in this fork on top of upstream:

### Workflow & UI

- **Split View with Drag-to-Split** - Drag a sub-chat from the sidebar to create or extend a split-view layout; per-pane close button in the title bar
- **Cmd+Shift+T: New Sub-Chat in Split** - Dedicated shortcut (and tooltip) that opens a new sub-chat directly into split view
- **Sortable Sidebar** - Reorder chats in the sidebar via drag-and-drop (@dnd-kit), with a grab-cursor + grip-handle hint on hover
- **Draggable Tab Bar** - Native HTML5 drag-and-drop on tabs with an insertion marker; split pairs stay locked
- **Queue Reorder** - Drag to reorder queued messages before they're sent
- **Text-Selection Copy Popover** - Copy button appears when you highlight text inside a chat message
- **Optimistic Sub-Chat Creation** - New sub-chats appear instantly and roll back on RPC failure
- **Per-Mode Thinking Effort** - Set Claude's thinking budget independently for Plan and Agent modes
- **Per-Mode Default Models** - Configure a default model per mode with automatic switching on mode change
- **Usage Statistics** - Built-in page showing Claude + Codex token and cost tracking
- **Wider Chat Column** - Expanded chat area (max-w-4xl) for better readability
- **Enter / Shift+Enter Swap** - Enter submits, Shift+Enter inserts a newline (matches common conventions)

### Git, PRs & Worktrees

- **PR Widget with Comments** - Inline PR status, comments, and details alongside the chat
- **Branch Switcher Popover** - Switch branches from a popover in the changes panel; PR chip refreshes immediately on switch (no more 30-second polling wait)
- **PR Auto-Refresh on Commit/Push** - PR status updates automatically when you commit or push from the app
- **Two-Column Commit Diff** - Side-by-side diff view for commit contents
- **Pull & Push Recovery Dialog** - When `git push` fails because the remote is ahead, a one-click dialog auto-stashes, rebases, and re-pushes instead of surfacing a raw "non-fast-forward" error
- **Worktree Deletion Safety** - Worktrees are only removed when you explicitly opt in via the archive flow with the "Delete worktree" checkbox; project delete and app startup no longer auto-remove worktrees

### Models

- **Latest Claude Models** - Opus 4.7 and updated model list including the latest Claude releases
- **Sonnet 4.6 1M Context** - Full 1M-token context for Sonnet (`sonnet[1m]`) alongside the existing Opus 1M, with an amber "1M · higher cost" badge in the selector
- **One-Click 1M Recovery** - On rate-limit or context errors against a 1M model, the toast action becomes "Switch to \<base model\>" — one click moves the sub-chat back to the 200K variant
- **GPT-5.4 & GPT-5.4 Mini** - Latest Codex models registered as the default; gpt-5.3-codex remains available

### Stability & Polish

- **Rich Tool Rendering** - Proper icons and labels for `Skill`, `ScheduleWakeup`, `EnterPlanMode`, `Cron*`, `Monitor`, `PushNotification`, `TaskOutput`/`TaskStop`, `EnterWorktree`/`ExitWorktree`, `RemoteTrigger`, and `ToolSearch` (previously rendered as plain text)
- **Stream Wedge Timeout** - 90-second first-chunk timeout aborts and surfaces a `STREAM_WEDGE` error instead of hanging the UI indefinitely
- **Crash Auto-Recovery** - App-root error boundary + one-shot auto-reload (10s debounce) for IPC race crashes, so you get a visible error state instead of a black screen
- **Session Abort on Delete** - In-flight Claude sessions are aborted before their workspace is removed on project/chat/sub-chat delete
- **Lazy Archive Popover** - Archive queries no longer fire until the popover opens, reducing startup network chatter
- **Windows Git Path Fix** - POSIX-normalized git paths so the sidebar tree view works on Windows

---

## Highlights

- **Multi-Agent Support** - Claude Code and Codex in one app, switch instantly
Expand Down
7 changes: 7 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
bun install
bun run claude:download # Download Claude binary (required!)
bun run codex:download # Download Codex binary (required!)
bun run build
bun run package:mac
bun run package:win
bun run package:linux
Loading