Gratuito e de código aberto, para Linux e macOS.

Um multiplexador de terminal com tudo incluído.

Projetos, worktrees, agentes de programação, issues, diffs ao vivo e acesso remoto, prontos assim que você instala. Nada para configurar.

curl -fsSL https://usecornercase.dev/install.sh | sh
cornercase · ~/code/web-shop
search projects, workspa…TODO5clear done×✻Welcome to Claude Code!Projects○Review the gift cards branch before/help for help, /status for your statusFriday▾workcwd: ~/.cornercase/worktrees/web-shop/feat-dark-mode○Answer Codex about src/orders.tsweb-shop(3)○Rotate the test keys in paymentsorders-api(2)!○Draft the post on parallel agentsmobile-app(1)>Where does the checkout pick its colours?○Look at the flaky returns test (#468)payments(2)Triage this week’s returns bugsRead(src/checkout.rs)Move the dotfiles to nvim▾◆personalRead 5 linesConnect Linear for the teamblog(1)dotfiles(1)Read(src/theme.rs)+ New TODOplayground(1)Read 14 lines+ NewNothing readsThemeyet.src/theme.rs:7definesbackground()with both colours, butsrc/checkout.rsbuilds the page without it: the templates hardcode#ffffffthree times.WorkspacesTo use it everywhere I would:▾feat/dark-mode◐claude- callTheme::background()from the checkoutOpus 5.5·9%- keep the brand purple on both themes+ Tab- add a test for the dark background▾feat/gift-cards✻Churned for 31s·done 9:39 AM◐claudeOpus 5.5·6%>Use Theme everywhere. Keep the brand purple.+ TabUpdate(src/checkout.rs)▾fix/empty-addressUpdated src/checkout.rs with 3 additions and 3 removals◐claudeOpus 5.5·6%Update(src/theme.rs)+ TabUpdated src/theme.rs with 4 additions+ NewBash(cargo test)Running…✳Churning…(esc to interrupt·20s)›IssuesChanges 2⏵⏵accept edits on (shift+tab to cycle)FilesTODOSettingsUsageQuit
search projects, workspa…TODO5clear done×✻Welcome to Claude Code!Projects○Review the gift cards branch before/help for help, /status for your statusFriday▾workcwd: ~/.cornercase/worktrees/web-shop/feat-dark-mode○Answer Codex about src/orders.tsweb-shop(3)○Rotate the test keys in paymentsorders-api(2)!○Draft the post on parallel agentsmobile-app(1)>Where does the checkout pick its colours?○Look at the flaky returns test (#468)payments(2)Triage this week’s returns bugsRead(src/checkout.rs)Move the dotfiles to nvim▾◆personalRead 5 linesConnect Linear for the teamblog(1)dotfiles(1)Read(src/theme.rs)+ New TODOplayground(1)Read 14 lines+ NewNothing readsThemeyet.src/theme.rs:7definesbackground()with both colours, butsrc/checkout.rsbuilds the page without it: the templates hardcode#ffffffthree times.WorkspacesTo use it everywhere I would:▾feat/dark-mode◐claude- callTheme::background()from the checkoutOpus 5.5·9%- keep the brand purple on both themes+ Tab- add a test for the dark background▾feat/gift-cards✻Churned for 31s·done 9:39 AM◐claudeOpus 5.5·6%>Use Theme everywhere. Keep the brand purple.+ TabUpdate(src/checkout.rs)▾fix/empty-addressUpdated src/checkout.rs with 3 additions and 3 removals◐claudeOpus 5.5·6%Update(src/theme.rs)+ TabUpdated src/theme.rs with 4 additions+ NewBash(cargo test)Running…✳Churning…(esc to interrupt·20s)›IssuesChanges 2⏵⏵accept edits on (shift+tab to cycle)FilesTODOSettingsUsageQuit
search projects, workspa…TODO5clear done×✻Welcome to Claude Code!Projects○Review the gift cards branch before/help for help, /status for your statusFriday▾workcwd: ~/.cornercase/worktrees/web-shop/feat-dark-mode○Answer Codex about src/orders.tsweb-shop(3)○Rotate the test keys in paymentsorders-api(2)!○Draft the post on parallel agentsmobile-app(1)>Where does the checkout pick its colours?○Look at the flaky returns test (#468)payments(2)Triage this week’s returns bugsRead(src/checkout.rs)Move the dotfiles to nvim▾◆personalRead 5 linesConnect Linear for the teamblog(1)dotfiles(1)Read(src/theme.rs)+ New TODOplayground(1)Read 14 lines+ NewNothing readsThemeyet.src/theme.rs:7definesbackground()with both colours, butsrc/checkout.rsbuilds the pagewithout it: the templates hardcode#ffffffthree times.WorkspacesTo use it everywhere I would:▾feat/dark-mode◐claude- callTheme::background()from the checkoutOpus 5.5·9%- keep the brand purple on both themes+ Tab- add a test for the dark background▾feat/gift-cards✻Churned for 31s·done 9:39 AM◐claudeOpus 5.5·6%>Use Theme everywhere. Keep the brand purple.+ TabUpdate(src/checkout.rs)▾fix/empty-addressUpdated src/checkout.rs with 3 additions and 3 removals◐claudeOpus 5.5·6%Update(src/theme.rs)+ TabUpdated src/theme.rs with 4 additions+ NewBash(cargo test)Running…✳Churning…(esc to interrupt·20s)›IssuesChanges 2⏵⏵accept edits on (shift+tab to cycle)FilesTODOSettingsUsageQuit
search projects, workspa…TODO5clear done×✻Welcome to Claude Code!Projects○Review the gift cards branch before/help for help, /status for your statusFriday▾workcwd: ~/.cornercase/worktrees/web-shop/feat-dark-mode○Answer Codex about src/orders.tsweb-shop(3)○Rotate the test keys in paymentsorders-api(2)!○Draft the post on parallel agentsmobile-app(1)>Where does the checkout pick its colours?○Look at the flaky returns test (#468)payments(2)Triage this week’s returns bugsRead(src/checkout.rs)Move the dotfiles to nvim▾◆personalRead 5 linesConnect Linear for the teamblog(1)dotfiles(1)Read(src/theme.rs)+ New TODOplayground(1)Read 14 lines+ NewNothing readsThemeyet.src/theme.rs:7definesbackground()with both colours, butsrc/checkout.rsbuilds the page without it: thetemplates hardcode#ffffffthree times.WorkspacesTo use it everywhere I would:▾feat/dark-mode◐claude- callTheme::background()from the checkoutOpus 5.5·9%- keep the brand purple on both themes+ Tab- add a test for the dark background▾feat/gift-cards✻Churned for 31s·done 9:39 AM◐claudeOpus 5.5·6%>Use Theme everywhere. Keep the brand purple.+ TabUpdate(src/checkout.rs)▾fix/empty-addressUpdated src/checkout.rs with 3 additions and 3 removals◐claudeOpus 5.5·6%Update(src/theme.rs)+ TabUpdated src/theme.rs with 4 additions+ NewBash(cargo test)Running…✳Churning…(esc to interrupt·20s)›IssuesChanges 2⏵⏵accept edits on (shift+tab to cycle)FilesTODOSettingsUsageQuit
search projects, workspa…Read(src/theme.rs)ProjectsRead 14 lines▾workNothing readsThemeyet.src/theme.rs:7definesbackground()withweb-shop(3)both colours, butsrc/checkout.rsbuilds the page without it: theorders-api(2)!templates hardcode#ffffffthree times.mobile-app(1)payments(2)To use it everywhere I would:▾◆personal- callTheme::background()from the checkoutblog(1)- keep the brand purple on both themesdotfiles(1)- add a test for the dark backgroundplayground(1)✻Churned for 31s·done 9:39 AM+ New>Use Theme everywhere. Keep the brand purple.WorkspacesUpdate(src/checkout.rs)▾feat/dark-modeUpdated src/checkout.rs with 3 additions and 3 removals◐claudeOpus 5.5·9%Update(src/theme.rs)+ TabUpdated src/theme.rs with 4 additions↓4 moreBash(cargo test)+ NewRunning…IssuesChanges 2✳Churning…(esc to interrupt·20s)FilesTODOSettingsUsage›Quit⏵⏵accept edits on (shift+tab to cycle)
!web-shop›…±▤☐Nothing readsThemeyet.src/theme.rs:7definesbackground()with both colours, butsrc/checkout.rsbuilds the page without it:the templates hardcode#ffffffthree times.To use it everywhere I would:- callTheme::background()from the checkout- keep the brand purple on both themes- add a test for the dark background✻Churned for 31s·done 9:39 AM>Use Theme everywhere. Keep the brand purple.Update(src/checkout.rs)Updated src/checkout.rs with 3 additionsand 3 removalsUpdate(src/theme.rs)Updated src/theme.rs with 4 additionsBash(cargo test)Running…✳Churning…(esc to interrupt·20s)›⏵⏵accept edits on (shift+tab to cycle)

Uma simulação de verdade, não um vídeo: clique por aí, digite num shell, inicie um agente.

Iniciar dez agentes é fácil. Acompanhar todos eles, nem tanto.

O cornercase dá a cada um o seu canto, mostra todos de uma vez, coloca a revisão ao lado do trabalho e mantém tudo rodando depois que você fecha a janela.

  1. De uma issue a um agente trabalhando, em um clique.

    Escolha uma issue do GitHub, GitLab, Linear, Jira, Plane, Asana ou Shortcut e aperte start. O cornercase cria um worktree num branch com o nome da issue, abre uma aba nele e entrega a issue ao seu agente como primeiro prompt. Nenhum branch para nomear, nenhuma pasta para criar, nada para colar.

    De issues a agentes →
    Issues·web-shop#482Returns page crashes on empty addressopen·bug·opened by @ana·updated 3d agohttps://github.com/acme/web-shop/issues/482startin its own worktree, on issue-482-returns-page-crashes-on-empty-addressagentclaude·planclaude --permission-mode plan (default)prompthttps://github.com/acme/web-shop/issues/482(typed, you press enter)When a customer starts a return without an address line, the returns page crasheswith a 500.Steps to reproduce1. Open a delivered order2. ClickStart a return3. Clear the address and submitExpectedA validation error:Enter the first line of your address.Logsrustthread 'tokio-runtime-worker' panicked at src/returns/address.rs:12:33:called`Option::unwrap()`on a`None`valueenter starts it·lines 1-26 of 29startschedulestart a flowagent…rawcopy urlback
  2. Dez agentes, uma olhada.

    Cada agente ganha seu próprio branch, pasta e aba, então dois deles nunca mexem no mesmo arquivo. A barra lateral mostra quem está trabalhando ◐, quem está esperando por você ! e quem terminou ✓, com o modelo e quanto do contexto já foi usado. Quando um precisa de você, seu terminal te cutuca no ombro. Até por SSH.

    Funciona com Claude Code, Codex, Gemini, Grok, Cursor, Copilot e mais 9 →
    search projects, workspa…✻Welcome to Claude Code!Projects/help for help, /status for your status▾workcwd: ~/.cornercase/worktrees/web-shop/feat-dark-modeweb-shop(3)orders-api(2)!mobile-app(1)>Where does the checkout pick its colours?payments(2)Read(src/checkout.rs)▾◆personalRead 5 linesblog(1)dotfiles(1)Read(src/theme.rs)playground(1)Read 14 lines+ NewNothing readsThemeyet.src/theme.rs:7definesbackground()with both colours, butsrc/checkout.rsbuilds the pageWorkspaceswithout it: the templates hardcode#ffffffthree times.▾feat/dark-modeTo use it everywhere I would:◐claudeOpus 5.5·9%- callTheme::background()from the checkout+ Tab- keep the brand purple on both themes- add a test for the dark background▾feat/gift-cards◐claude✻Churned for 31s·done 9:39 AMOpus 5.5·6%+ Tab>Use Theme everywhere. Keep the brand purple.▾fix/empty-addressUpdate(src/checkout.rs)◐claudeUpdated src/checkout.rs with 3 additions and 3 removalsOpus 5.5·6%+ TabUpdate(src/theme.rs)Updated src/theme.rs with 4 additions+ NewBash(cargo test)Running…IssuesChanges 2✳Churning…(esc to interrupt·20s)FilesTODOSettingsUsage›Quit⏵⏵accept edits on (shift+tab to cycle)
  3. Leia o diff enquanto ele ainda está sendo escrito.

    As mudanças do workspace ficam ao lado do agente e se atualizam enquanto ele digita: o que ainda não tem commit, os commits dele, tudo desde o branch base, ou o que ainda não tem commit em todos os projetos de uma vez. Passe o mouse sobre um hunk para abri-lo no seu editor, copiá-lo ou devolvê-lo ao agente com um comentário. Sem navegador, sem pull request, sem espera.

    O painel de mudanças →
    web-shop›#482 Returns page crashes on empty addr…Every project×UncommittedCommitsAll3files+13−5live▾Msrc/returns/address.rs+2−2pub struct Address {88}991010implAddress{11pubfnfirst_line(&self) -> &str {12self.lines.first().unwrap()11pubfnfirst_line(&self) ->Option<&str> {12self.lines.first().map(String::as_str)1313}1414}▾Msrc/returns/mod.rs+4−311modaddress;223useaxum::{Json,Router, routing::post};3useaxum::{Json,Router, http::StatusCode, routing::post};4455pubuseaddress::Address;66↕1 unchanged linepub fn routes() -> Router {88Router::new().route("/returns", post(create))99}1010
  4. Feche a janela. Nada para.

    Os shells pertencem a um pequeno servidor, não à janela. Saia, feche o notebook, perca o Wi-Fi: agentes, testes e servidores de desenvolvimento continuam rodando. Abra o cornercase de novo em qualquer terminal, ou pelo celular por SSH, e ele está do jeito que você deixou, com um ✓ em quem terminou enquanto você estava fora.

    Como as sessões funcionam →
    seu terminalconectadofechado
    servidor do cornercase
    • claude
    • codex
    • claude
    • npm run dev
    Seu terminal se conecta ao servidor do cornercase, que roda dois agentes do Claude Code, um agente do Codex e npm run dev. Quando o terminal fecha, esses programas continuam rodando.

Ou entregue tudo a um agente.

Tudo isso está a um comando de distância. cornercase abre worktrees, inicia agentes, espera por eles e lê o que escreveram, então um agente pode comandar os outros: um corrige o bug, outro revisa, outro escreve os testes.

Scripts e agentes →
uma sessão do Claude Code
$ cornercase start codex --worktree feat/gift-cards \
    --prompt 'Add gift cards to the checkout'
12
$ cornercase wait --pane 12 --timeout 900
idle
$ cornercase read --pane 12 --last-message
Done. Gift cards work in the checkout: a GiftCard with a
balance is applied after coupons and before tax.

Uma issue. Uma equipe inteira nela.

Escolha uma issue e aperte start a flow: o cornercase inicia uma equipe de agentes num worktree novo, e um agente orquestrador conduz o plano. Ele passa o trabalho do planejador para o programador e dali para os revisores, devolve quando eles encontram algo e, quando tudo fica pronto, abre o pull request.

Flow · web-shop › issue-482-returns-page-crashes
Um diagrama animado de um flow na issue #482. O agente orquestrador passa a issue para um planejador e depois para um programador. Um revisor e um revisor de segurança revisam a mudança ao mesmo tempo. O revisor encontra um problema, então o trabalho volta para o programador. Depois de uma segunda revisão os dois aprovam, e o orquestrador abre o pull request #487, cujos checks passam.
  • Qualquer agente, em qualquer papelO Claude planeja, o Codex programa, o Gemini revisa a segurança. Cada papel escolhe seu agente, modelo e esforço, então o código é revisado por um modelo que não o escreveu.
  • Em paralelo, e de voltaOs revisores trabalham ao mesmo tempo, e o que eles encontram devolve o trabalho ao programador, quantas vezes você permitir.
  • Veja o trabalho andarO painel Flow acende cada papel enquanto ele trabalha. Clique numa seta para ler o que passou por ela.
  • Cinco prontos, ou os seusO cornercase traz cinco flows, de uma revisão rápida a uma arena de programadores competindo. Edite, escreva os seus ou importe um da comunidade.

Todo o resto, a um clique.

Para seus agentes

Para seu código

Para seu terminal

Tudo isso, e continua rápido.

Abre antes de você piscar, e mostra o que seus agentes mudaram, abre um arquivo ou encontra um antes de você clicar de novo. Os outros apps que testamos? Até 8,5 segundos, e quase 2 GB.

Abrir o app

Do momento em que você o inicia até o workspace estar pronto para usar.

13× mais rápido que o Warp,
o próximo mais rápido

  1. cornercase34 ms
  2. Warp450 ms
  3. Orca3.2 s
  4. Emdash8.5 s

Primeira olhada nas mudanças

Do clique até as mudanças aparecerem na tela: 20 arquivos, +794 −76.

200× mais rápido que o Warp,
o próximo mais rápido

  1. cornercase2 ms
  2. Warp410 ms
  3. Orca1.1 s
  4. Emdash430 ms

Cada olhada depois disso

As mesmas mudanças, mostradas de novo.

45× mais rápido que o Warp,
o próximo mais rápido

  1. cornercase2 ms
  2. Warp90 ms
  3. Orca330 ms
  4. Emdash140 ms

Abrir um arquivo

Do clique até um arquivo de 3.472 linhas aparecer na tela, colorido.

3.4× mais rápido que o Emdash,
o próximo mais rápido

  1. cornercase140 ms
  2. Warp650 ms
  3. Orca1.3 s
  4. Emdash470 ms

Achar um arquivo pelo nome

Da busca até o arquivo aparecer, entre 32.255 arquivos.

10× mais rápido que o Orca,
o próximo mais rápido

  1. cornercase19 ms
  2. Warp300 ms
  3. Orca190 ms
  4. Emdashsem busca rápida

Buscar nos arquivos

Da busca até os resultados aparecerem, em 32.255 arquivos.

1.4× mais rápido que o Emdash,
o próximo mais rápido

  1. cornercase69 ms
  2. Warp430 ms
  3. Orca490 ms
  4. Emdash100 ms

Memória

8.2× menos memória que o Warp,
o próximo mais leve

  • cornercase: 53 MB
  • Warp: 432 MB
  • Orca: 793 MB
  • Emdash: 1.9 GB

O que os processos de cada app usam, sem contar os shells.

Download

31× menor para baixar que o Warp,
o próximo menor

  • cornercase: 4.8 MB
  • Warp: 148 MB
  • Orca: 219 MB
  • Emdash: 229 MB

O que você baixa para instalar.

Em disco

29× menos espaço em disco que o Warp,
o próximo menor

  • cornercase: 12 MB
  • Warp: 353 MB
  • Orca: 642 MB
  • Emdash: 807 MB

O espaço que ele ocupa depois de instalado.

Como medimos →