Claude Squad v1.0.0 Claude Squad is a terminal app lets you manage multiple Claude Code (and other local agents like Aider) instances across separate workspaces, so you can tackle multiple tasks at once. Run tasks in the background (with yolo/auto-accept mode)…
Read full notes
Claude Squad v1.0.0
Claude Squad is a terminal app lets you manage multiple Claude Code (and other local agents like Aider) instances across separate workspaces, so you can tackle multiple tasks at once.
- Run tasks in the background (with yolo/auto-accept mode)
- Control all instances and tasks from one terminal window
- Review changes before applying, checkout before pushing
- Isolated git workspaces per task—no more conflicts!
https://github.com/user-attachments/assets/bf2e17db-cd10-4bba-88ac-7732b8403ed4
Changelog
- e85db5009a92cd6702cb0a87d6f1885d50de62d4: handle terminal window resizing (@mufeez-amjad)
- 143fbf413c671df101d2e4b7dcb05d6870394c74: change name to claude squad (@jayshrivastava)
- e187a3cf119b09037f587f06297982182c02472e: ui: add menu (@jayshrivastava)
- 6b9d3156a4a9bc8a8f0ffec3e01a971f7498a2ff: ui: working on layout (@jayshrivastava)
- 3ee359bab520677b1f9cdb4363434e6d48a02023: ui: layout and up/down keystrokes done (@jayshrivastava)
- fcedc3223db34f22ae42fd8fd0c5b9e49a5acbe8: ui: added error message and finished list except for new (@jayshrivastava)
- f94334376b78d3e2ec399b9196d2fbe8d9be7e6e: ui: add spinners (@jayshrivastava)
- 01697ad6897179839f65082e81ebb23f7a92b7d8: ui: add comments to spinner (@jayshrivastava)
- 5a69cc0695d6a981133abc3204a210e78921f0bc: ui: add comments to spinner in list component (@jayshrivastava)
- a5fe75257c42c41faf3f44c43a7540b6cf742919: ui: improve menu visibility (@jayshrivastava)
- 3b595fbf42b5df4928fdebfa8500289b8ce1aa3f: ui: add ready icon (@jayshrivastava)
- c6b6a4796d82e25451cb3a2a58f3b0603e71715a: ui: improve error styling (@mufeez-amjad)
- 7c4b521c310bb055b4344791a50990a264bd950c: ui: don't wrap list navigation (@mufeez-amjad)
- 509a7530f297dacfaf46286a66e3e5b927325689: session: add tmux session interface (@mufeez-amjad)
- a28a62f0c9a6f8d56cc5370cea41f250ead4c145: log, tmux: add logger and tmux session package (@jayshrivastava)
- 3f25ff6ede1489c9471fbc421879a6d744ed1b30: app, session, ui: add session management and preview pane content (#1) (@mufeez-amjad)
- 0e9dc61268af653af75dfd64dc8354559c2145ab: fix(app): allow quitting with Ctrl-C (@mufeez-amjad)
- ace681028b95c7bff924dea1d5c586ec82eed211: session: add worktree, pushing branch (@mufeez-amjad)
- 93339d32a8be84a51e549d3114970e4273831466: session: context switching in/out working (@mufeez-amjad)
- 82c93bc003b9bed9ca9d718e9d5e8150225269c2: tmux/ui: fix window sizes (#2) (@jayshrivastava)
- f8149aa25419cb874a3491b47ce8cfeac1d1b544: fix(session): bound SIGWINCH channel to prevent unbounded events during resize (@mufeez-amjad)
- 0e4a7f2881335a10655b00afe02b3b187090df95: ci: add build + release workflows, install script (#3) (@mufeez-amjad)
- 6229cb91a631f007305995ed2617227df5b749d5: instance: separate start from struct initialization (@jayshrivastava)
- c276a65b9569b2f11d54a4850b42a284b0365454: list/ui: add ability to enter name for session (#4) (@jayshrivastava)
- 7f4f2da8ab3fe9cb4a38d33bb5af0c766b16ad08: fix(ui): remove extraneous lines from preview (@mufeez-amjad)
- c8e5e0223992d73736bec0e934417b3ad70dcdee: ui: update empty state (@mufeez-amjad)
- fdee23225583c7d305bd08bf6744ad8cd4ab391d: tabs: add tabs to ui and render preview in tabs (@jayshrivastava)
- d6d5d2175a36a694b8cfa2353a32db1d1da4b49f: menu: add tab switching (@jayshrivastava)
- 657fea22ba21370456bc158efbc7f97f4554fb90: ui: make claudesquad two words in fallback text for small terminals (@jayshrivastava)
- cc2b4c43a76459d87369c10ca76593b2e791597b: fix(app, session): allow a freeform session title (@mufeez-amjad)
- 5b4e4e81a28d7096888a68d7470be69d183e48c1: ui: update instance styles to use background with no border (#6) (@jayshrivastava)
- 880014155c96ca5f1147fffbb51e96754cbe9cc4: ui: show branch name in list (@jayshrivastava)
- e39a7477600d07592ba89d7bacfb57cde12f4bb2: tmux: nuke control characters when attaching (@jayshrivastava)
- 58d18320059a1697a494bdbe8dd72db7c29b2a76: fix(ui): prevent layout shift between selected and unselected items (@mufeez-amjad)
- 453ad89b05d04fe3f80757c3868d0d8dbf4b2657: feat(session/git): Add support for checking out worktrees (#5) (@mufeez-amjad)
- 7805c4bb433998d1fa5f34d341d2e3b2943b017f: fix(app): pressing escape when creating a new instance should cancel (@mufeez-amjad)
- 543a5c29e1e1b68dd0c35726a784b3934eaff96b: fix(ui/preview): add paused empty state (@mufeez-amjad)
- 539bf2880686098a0681497a3032802ca1f82903: ui: clarify paused state better (@mufeez-amjad)
- 5a31b668e3771462144963667791bc197ff1eaa2: app: allow for quitting while paused (#8) (@jayshrivastava)
- b8953f63cc643c629e6c2335fb827bd042cccd14: tmux,ui: update statuses depending on claude stdout (#7) (@jayshrivastava)
- f2994ea0fbb0fb724603c8726e71797fcbcb3258: license: add agpl 3.0 license (@jayshrivastava)
- e3e0f7985a0665b743eb2263ad93491175648567: tmux: skip 'do you trust files' screen in instance (@jayshrivastava)
- a28782436ced7718afd5f6c59b2b4ada3f572d29: fix(session/worktree): use HEAD commit for worktree base (@mufeez-amjad)
- 9e7f4975993250d4ae06e8bdda69a5b656f7d1b3: ui: add git diff +- to list card (@jayshrivastava)
- 6c26576119203a71511beb2b1860f9bcb2c05e2e: ui/list: show repo name when multiple repos are used (#10) (@jayshrivastava)
- 7166a4cacb730fd30d75a4171740781ef4d51bd2: feat(ui, session/worktree): Show
git diff output in diff pane (#9) (@mufeez-amjad)
- 4c026f0b11c8d44b466ea95e6cb7eca90c7cd21b: app: add yolo mode (#12) (@jayshrivastava)
- 5e01864f5b64b09380e73fcb3c7ab8732407086e: app: make auto-yes mode config / cli flag only (#13) (@jayshrivastava)
- 820c45574e170c409f7337f676af89d5787f4d8e: log: add log package to introduce logging channels (#11) (@jayshrivastava)
- b9386010804f7a5de6db93e81301580d7cb15115: ui: make diff scroll text smaller (@jayshrivastava)
- fe37e102e9c6040d3eb3aeb78ceeeb19c7db18be: ui: remove extra whitespace from preview window (@jayshrivastava)
- 7c1a0b04ec0b7555b7ec38edcad623c16881b002: readme: add vibe coded readme file (#14) (@jayshrivastava)
- fe9769dd0c68f5aed8633522017007e8a0115f72: ci: use go version 1.23 in ci (@jayshrivastava)
- 5725719db64fdf0959f1fb348231c4696cd7f974: daemon: introduce autoyes daemon (#16) (@jayshrivastava)
- 54aab7adfd6856f7512817a2d83f98c0226c157c: fix(ci): release workflow (@mufeez-amjad)
- 04bcc776e7c77517feab0a1bc1b84c3c0d058539: fix(ci): escape changelog characters (@mufeez-amjad)
- 5e7a618089d30e0a4eba1be8cece9e7430df19c5: fix(ci): use goreleaser instead (@mufeez-amjad)
- 6e42a5bb7dc09e8a965649ad11bac9ca343bb606: feat(app, session, ui): Add support for poweruser instance creation (#15) (@mufeez-amjad)
- 95e151a5db263950aabfbdf00b3ade82735888d6: feat(ui): Allow scrolling diff pane with mouse scroll (#17) (@mufeez-amjad)
- eb119b46e7854adc459141443aa9e4ea11535138: feat(ui): underline menu items on select (#19) (@jayshrivastava)
- 2b23c52cfad75beba607e07401912da23cc89258: fix(session): ensure we automatically pass initial prompt (#20) (@jayshrivastava)
- 2756db7bf3eed0de86bc9fa5f41b13c7d30c1e8a: fix(app): fix delete and reset bugs (#21) (@jayshrivastava)
- ea75108d82a52b43aa9137c5c2b3a8598c0269cc: fix(worktree): improve commit message to have human readable date (@jayshrivastava)
- b2f0a2193833849440f54487f147121e23a1d6f3: fix(ui): use nicer enter key icon (@jayshrivastava)
- 02e485633494ebc21e81d9daa316a98fc65392fe: fix(app): ensure auto yes mode works on aider (#22) (@jayshrivastava)
- 2c657d381fc823c2f5e88519c6efaf7f0d0b4cef: fix(ui): make menu shorter and improve underlining (#23) (@jayshrivastava)
- 36f9e5886eaf4fac1b51d8f18107b2294633b2b7: fix(ui): set size on error box (@jayshrivastava)
- 84782330a6780e5f8d44d1d23246a167b1b667a5: feat(ui/overlay): add cursor to text input, allow moving cursor (@mufeez-amjad)
- 3004fb3f992be042b4c9388ef658f779e6045135: fix: install script (@mufeez-amjad)
- 55b98c0e21372f5b11d070cb194633f1ccf82e6d: fix(session): replace . with _ for tmux session names (@jayshrivastava)
- 8980228c5cd2aa6be3cbe4b89761d02a718f8b1d: fix(session): reduce text for claude autoyes mode (@jayshrivastava)
- ecff2f7faa09bdcb586d749260b10c85c2da1a22: fix(ui/overlay): update wrapText to account for spaces (@mufeez-amjad)
- 703e81f47604b43f7d60d5f9d4f4d153bcf4e8c6: fix(ui/overlay): use textarea bubble instead of custom implementation (@mufeez-amjad)
…