Skip to main content

Command

Enum Command 

Source
pub enum Command {
    Start {
        cli: Option<String>,
        branches: Option<Vec<String>>,
        from_all_specs: bool,
        specs: Option<Vec<String>>,
        specs_format: Option<SpecsFormat>,
        dry_run: bool,
        preset: Option<String>,
        supervisor: bool,
        no_supervisor: bool,
        force: bool,
        no_rebase: bool,
    },
    Pause,
    Stop {
        force: bool,
    },
    Purge {
        force: bool,
    },
    Status,
    ListClis,
    AddCli {
        name: String,
        command: String,
        display_name: Option<String>,
    },
    RemoveCli {
        name: String,
    },
    Init,
    Dashboard,
    Replay {
        branch: Option<String>,
        list: bool,
        color: bool,
        session: Option<String>,
    },
}
Expand description

Available subcommands.

Variants§

§

Start

Launch a new session or reattach to an existing one

Fields

§cli: Option<String>

AI CLI to use (e.g., claude, codex, gemini). Skips CLI picker if provided.

§branches: Option<Vec<String>>

Comma-separated branch names. Skips branch picker if provided.

§from_all_specs: bool

Launch worktrees for every discovered spec across all configured formats.

§specs: Option<Vec<String>>

Narrow the session to named specs, or open the multi-select picker when given without values.

--specs add-auth,fix-session runs only those specs. Bare --specs opens a multi-select picker; an interactive terminal is required (otherwise the command exits with an actionable error pointing at --specs NAME[,NAME...] and --from-all-specs).

Mutually exclusive with --from-all-specs.

§specs_format: Option<SpecsFormat>

Override the spec format used for --from-all-specs / --specs scanning.

Accepted values: openspec, markdown, speckit. Overrides both the [specs] type setting in .git-paw/config.toml and the auto-detection of .specify/ at the repo root.

§dry_run: bool

Preview the session plan without executing.

§preset: Option<String>

Use a named preset from config.

§supervisor: bool

Enable supervisor mode for this session.

§no_supervisor: bool

Disable supervisor mode for this session, overriding any config setting.

§force: bool

Bypass uncommitted-spec validation warning.

§no_rebase: bool

Skip rebasing existing agent branches onto the default branch before opening their worktrees.

By default, git paw start rebases every existing agent branch onto the repository’s default branch (whatever origin/HEAD tracks, typically main) before opening or reopening its worktree, so agents always start from current main. Pass --no-rebase to skip the rebase step entirely and reproduce the pre-v0.6 behaviour. Newly created branches (no prior commits) are not rebased regardless of this flag.

§

Pause

Pause the session (detaches client, stops broker, leaves CLIs running)

§

Stop

Stop the session (kills tmux, keeps worktrees and state)

Fields

§force: bool

Skip confirmation prompt.

§

Purge

Remove everything (tmux session, worktrees, and state)

Fields

§force: bool

Skip confirmation prompt.

§

Status

Show session state for the current repo

§

ListClis

List detected and custom AI CLIs

§

AddCli

Register a custom AI CLI

Fields

§name: String

Name to register the CLI as.

§command: String

Command or path to the CLI binary.

§display_name: Option<String>

Optional display name for the CLI.

§

RemoveCli

Unregister a custom AI CLI

Fields

§name: String

Name of the custom CLI to remove.

§

Init

Initialize .git-paw/ directory and configuration

§

Dashboard

Internal: run the broker and dashboard in pane 0

§

Replay

View captured session logs

Fields

§branch: Option<String>

Branch name to replay (fuzzy-matched against log filenames).

§list: bool

List available log sessions and branches.

§color: bool

Display with ANSI colors via less -R.

§session: Option<String>

Session name to replay from (defaults to most recent).

Trait Implementations§

Source§

impl Debug for Command

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Command

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Command

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,