Skip to content

feat(claude-helpers): ccb no permite pasar flags a claude, imposibilita retomar sesión #43

Open

Description

@barbatdev

ccb no reenvía argumentos a claude, así que no hay forma de retomar una sesión existente ni de
pasar ninguna otra opción sin editar la función.

Definición actual (zsh/scripts/claude-helpers.zsh:62-66):

ccb() {
    local resolved
    resolved=$(_cortex_resolve_target "${1:-.}") || return
    _cortex_run_agent "$resolved" claude --dangerously-skip-permissions
}

El único parámetro que consume es $1 como path, y la invocación a _cortex_run_agent no propaga
nada más.

Impacto observado

Al querer retomar una sesión de Claude Code por su id, no hay forma de hacerlo con ccb. La
alternativa práctica es lanzar claude a mano, lo que deja la sesión sin
--dangerously-skip-permissions y por lo tanto en un modo donde el runtime no puede pedir
aprobaciones. En esa situación se cae la superficie git de cortex (el subagente git-specialist
queda sin poder ejecutar git/gh) y también los MCPs de memoria. El usuario termina copiando el
resumen de sesión a mano para no perder contexto.

Fix propuesto

Reenviar los argumentos restantes a claude, manteniendo $1 como path:

ccb() {
    local resolved
    resolved=$(_cortex_resolve_target "${1:-.}") || return
    _cortex_run_agent "$resolved" claude --dangerously-skip-permissions "${@:2}"
}

Con eso ccb . --resume <id> y ccb . --continue funcionan sin tocar la función.

A revisar antes de implementar

Los helpers hermanos (cc, oc, ocb, ccx) tienen la misma forma y probablemente el mismo
límite. Conviene decidir si el reenvío de flags se aplica a todos por consistencia.

También hay un worktree pr-38-qa que toca este mismo archivo: verificar si hay un PR abierto ahí
antes de empezar, para no duplicar trabajo ni generar conflicto.

Activity

  1. barbatdev commented on Oct 17, 2026

    @barbatdev
    OwnerAuthor

    Fleet issue review (glm)

    Recommendation: approve

    Concrete bug with mechanism, impact and a working proposed fix: ccb consumes only $1 as a path and never forwards arguments to claude, so sessions cannot be resumed; resuming by hand loses --dangerously-skip-permissions, which silently disables the git surface (git-specialist cannot run git/gh) and memory MCPs. The proposed passthrough of the remaining arguments (${@:2}) is minimal and directly testable (ccb . --resume and ccb . --continue work without editing the function). The two pre-implementation notes (sibling helpers cc/oc/ocb/ccx may want the same treatment; check for an open PR on the pr-38-qa worktree touching the same file) are process follow-ups that do not block the core deliverable.

    Item Pass Evidence
    clear problem yes Specific: zsh/scripts/claude-helpers.zsh:62-66 defines ccb with no argument forwarding, so 'claude' can never be invoked with --resume/--continue through it, with the observed impact spelled out.
    acceptance criteria present and testable yes The fixed behavior is stated and verifiable: remaining arguments after the path reach claude, so 'ccb . --resume ' and 'ccb . --continue' work without touching the function; the existing no-arg usage ('ccb .') must keep working unchanged.
    scope bounded yes One function in one file; the sibling-helper consistency question is flagged as a separate decision ('Conviene decidir...') and the PR-conflict check is an implementation step, not extra scope.
    no open questions yes No blocking decisions: the core fix is fully specified; the sibling extension and the worktree/PR check are recorded as pre-implementation considerations with clear next actions.

    Only Juan adds the status:approved label; this review is advisory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions