[INFO] cloning repository https://github.com/ashlrai/phantom-secrets
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ashlrai/phantom-secrets" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fashlrai%2Fphantom-secrets", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fashlrai%2Fphantom-secrets'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 07601fff761c9bc080ec6e5c342839b07b298bef
[INFO] testing ashlrai/phantom-secrets/07601fff761c9bc080ec6e5c342839b07b298bef against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fashlrai%2Fphantom-secrets" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ashlrai/phantom-secrets
[INFO] finished tweaking git repo https://github.com/ashlrai/phantom-secrets
[INFO] tweaked toml for git repo https://github.com/ashlrai/phantom-secrets written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ashlrai/phantom-secrets on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ashlrai/phantom-secrets already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e5e62074aa591aa14955767ee19bb18097b5c00ff76d176bb5eb14d2eb8a494a
[INFO] running `Command { std: "docker" "start" "-a" "e5e62074aa591aa14955767ee19bb18097b5c00ff76d176bb5eb14d2eb8a494a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5e62074aa591aa14955767ee19bb18097b5c00ff76d176bb5eb14d2eb8a494a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5e62074aa591aa14955767ee19bb18097b5c00ff76d176bb5eb14d2eb8a494a", kill_on_drop: false }`
[INFO] [stdout] e5e62074aa591aa14955767ee19bb18097b5c00ff76d176bb5eb14d2eb8a494a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c29bd8605715e785d94111094db3779f0f0be9daee9a392337600704b247560
[INFO] running `Command { std: "docker" "start" "-a" "8c29bd8605715e785d94111094db3779f0f0be9daee9a392337600704b247560", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling linux-keyutils v0.2.5
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling rmcp v1.5.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling self_update v0.42.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling rtoolbox v0.0.5
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling open v5.3.4
[INFO] [stderr]    Compiling rpassword v7.5.1
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling self-replace v1.5.0
[INFO] [stderr]    Compiling tar v0.4.45
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling crypto_secretbox v0.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling crypto_box v0.9.1
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rmcp-macros v1.5.0
[INFO] [stderr]    Compiling which v6.0.3
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling phantom-secrets-core v0.6.0 (/opt/rustwide/workdir/crates/phantom-core)
[INFO] [stderr]    Compiling phantom-secrets-vault v0.6.0 (/opt/rustwide/workdir/crates/phantom-vault)
[INFO] [stderr]    Compiling phantom-secrets-proxy v0.6.0 (/opt/rustwide/workdir/crates/phantom-proxy)
[INFO] [stderr]    Compiling phantom-secrets-mcp v0.6.0 (/opt/rustwide/workdir/crates/phantom-mcp)
[INFO] [stderr]    Compiling phantom-secrets v0.6.0 (/opt/rustwide/workdir/crates/phantom-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 03s
[INFO] running `Command { std: "docker" "inspect" "8c29bd8605715e785d94111094db3779f0f0be9daee9a392337600704b247560", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c29bd8605715e785d94111094db3779f0f0be9daee9a392337600704b247560", kill_on_drop: false }`
[INFO] [stdout] 8c29bd8605715e785d94111094db3779f0f0be9daee9a392337600704b247560
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d31fbdbaaf23d2d9ad1d17883dabc9d8513c8ade9737f7bbc3916e64ab294e9d
[INFO] running `Command { std: "docker" "start" "-a" "d31fbdbaaf23d2d9ad1d17883dabc9d8513c8ade9737f7bbc3916e64ab294e9d", kill_on_drop: false }`
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling assert_cmd v2.2.1
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling phantom-secrets-mcp v0.6.0 (/opt/rustwide/workdir/crates/phantom-mcp)
[INFO] [stderr]    Compiling phantom-secrets-proxy v0.6.0 (/opt/rustwide/workdir/crates/phantom-proxy)
[INFO] [stderr]    Compiling phantom-secrets-vault v0.6.0 (/opt/rustwide/workdir/crates/phantom-vault)
[INFO] [stderr]    Compiling phantom-secrets-core v0.6.0 (/opt/rustwide/workdir/crates/phantom-core)
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling phantom-secrets v0.6.0 (/opt/rustwide/workdir/crates/phantom-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 23.99s
[INFO] running `Command { std: "docker" "inspect" "d31fbdbaaf23d2d9ad1d17883dabc9d8513c8ade9737f7bbc3916e64ab294e9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d31fbdbaaf23d2d9ad1d17883dabc9d8513c8ade9737f7bbc3916e64ab294e9d", kill_on_drop: false }`
[INFO] [stdout] d31fbdbaaf23d2d9ad1d17883dabc9d8513c8ade9737f7bbc3916e64ab294e9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d134d8ea78e11024bed68243a556ca8b1b715a66b27718b699119cabb7abfea3
[INFO] running `Command { std: "docker" "start" "-a" "d134d8ea78e11024bed68243a556ca8b1b715a66b27718b699119cabb7abfea3", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/phantom-ac01ec94f4ae5f6d)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test commands::audit::tests::format_unix_ts_known_value ... ok
[INFO] [stdout] test commands::audit::tests::empty_file_returns_no_lines ... ok
[INFO] [stdout] test commands::audit::tests::filter_by_name ... ok
[INFO] [stdout] test commands::add::tests::stdin_tty_check_does_not_panic ... ok
[INFO] [stdout] test commands::audit::tests::malformed_line_is_skipped_not_panicked ... ok
[INFO] [stdout] test commands::audit::tests::filter_by_op ... ok
[INFO] [stdout] test commands::audit::tests::filter_by_op_and_name ... ok
[INFO] [stdout] test commands::audit::tests::last_n_limits_output ... ok
[INFO] [stdout] test commands::audit::tests::matches_filters_name_miss ... ok
[INFO] [stdout] test commands::audit::tests::matches_filters_no_filters ... ok
[INFO] [stdout] test commands::audit::tests::matches_filters_op_miss ... ok
[INFO] [stdout] test commands::doctor::tests::cargo_path_detected ... ok
[INFO] [stdout] test commands::doctor::tests::install_source_is_stable ... ok
[INFO] [stdout] test commands::doctor::tests::npm_path_detected_via_home_prefix ... ok
[INFO] [stdout] test commands::doctor::tests::homebrew_paths_detected ... ok
[INFO] [stdout] test commands::export_cmd::tests::json_and_passphrase_are_mutually_exclusive ... ok
[INFO] [stdout] test commands::open::tests::empty_target_defaults_to_dashboard ... ok
[INFO] [stdout] test commands::open::tests::known_aliases_resolve ... ok
[INFO] [stdout] test commands::open::tests::unknown_word_routes_to_phm_dev_path ... ok
[INFO] [stdout] test commands::proxy_state::tests::rejects_malformed_pid_file ... ok
[INFO] [stdout] test commands::proxy_state::tests::parses_pid_file_without_exposing_token ... ok
[INFO] [stdout] test commands::init::multi::tests::find_candidates_skips_node_modules ... ok
[INFO] [stdout] test commands::init::multi::tests::jobs_env_parse_logic ... ok
[INFO] [stdout] test commands::init::multi::tests::find_candidates_picks_up_repos_with_env_and_git ... ok
[INFO] [stdout] test commands::init::multi::tests::find_candidates_does_not_descend_into_found_repo ... ok
[INFO] [stdout] test commands::open::tests::arbitrary_url_passes_through ... ok
[INFO] [stdout] test commands::export_cmd::tests::json_mode_refuses_without_allow_plaintext ... ok
[INFO] [stdout] test commands::init::multi::tests::parse_secret_count_returns_zero_when_absent ... ok
[INFO] [stdout] test commands::export_cmd::tests::encrypted_mode_requires_passphrase ... ok
[INFO] [stdout] test commands::init::multi::tests::parse_secret_count_extracts_n ... ok
[INFO] [stdout] test commands::mcp::tests::mcp_serve_parses ... ok
[INFO] [stdout] test commands::init::multi::tests::jobs_1_visits_all_candidates ... ok
[INFO] [stdout] test commands::sync::tests::filter_key_names_without_patterns_selects_all ... ok
[INFO] [stdout] test commands::upgrade::tests::detect_install_source_returns_a_value ... ok
[INFO] [stdout] test commands::setup::tests::cursor_writer_creates_config_when_missing ... ok
[INFO] [stdout] test commands::setup::tests::npx_fallback_command_spec ... ok
[INFO] [stdout] test commands::sync::tests::filter_key_names_splits_selected_and_skipped ... ok
[INFO] [stdout] test commands::wrap::tests::test_should_wrap_script ... ok
[INFO] [stdout] test commands::setup::tests::cursor_writer_preserves_other_settings ... ok
[INFO] [stdout] test commands::setup::tests::cursor_writer_replaces_existing_phantom_entry ... ok
[INFO] [stdout] _phantom() {
[INFO] [stdout]     local i cur prev opts cmd
[INFO] [stdout]     COMPREPLY=()
[INFO] [stdout]     if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
[INFO] [stdout]         cur="$2"
[INFO] [stdout]     else
[INFO] [stdout]         cur="${COMP_WORDS[COMP_CWORD]}"
[INFO] [stdout]     fi
[INFO] [stdout]     prev="$3"
[INFO] [stdout]     cmd=""
[INFO] [stdout]     opts=""
[INFO] [stdout] 
[INFO] [stdout]     for i in "${COMP_WORDS[@]:0:COMP_CWORD}"
[INFO] [stdout]     do
[INFO] [stdout]         case "${cmd},${i}" in
[INFO] [stdout]             ",$1")
[INFO] [stdout]                 cmd="phantom"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,__clear-clipboard-after)
[INFO] [stdout]                 cmd="phantom__subcmd____clear__subcmd__clipboard__subcmd__after"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,add)
[INFO] [stdout]                 cmd="phantom__subcmd__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,agent)
[INFO] [stdout]                 cmd="phantom__subcmd__agent"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,audit)
[INFO] [stdout]                 cmd="phantom__subcmd__audit"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,check)
[INFO] [stdout]                 cmd="phantom__subcmd__check"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,cloud)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,completion)
[INFO] [stdout]                 cmd="phantom__subcmd__completion"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,copy)
[INFO] [stdout]                 cmd="phantom__subcmd__copy"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,doctor)
[INFO] [stdout]                 cmd="phantom__subcmd__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,env)
[INFO] [stdout]                 cmd="phantom__subcmd__env"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,exec)
[INFO] [stdout]                 cmd="phantom__subcmd__exec"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,export)
[INFO] [stdout]                 cmd="phantom__subcmd__export"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,help)
[INFO] [stdout]                 cmd="phantom__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,import)
[INFO] [stdout]                 cmd="phantom__subcmd__import"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,init)
[INFO] [stdout]                 cmd="phantom__subcmd__init"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,list)
[INFO] [stdout]                 cmd="phantom__subcmd__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,login)
[INFO] [stdout]                 cmd="phantom__subcmd__login"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,logout)
[INFO] [stdout]                 cmd="phantom__subcmd__logout"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,mcp)
[INFO] [stdout]                 cmd="phantom__subcmd__mcp"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,open)
[INFO] [stdout]                 cmd="phantom__subcmd__open"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,pull)
[INFO] [stdout]                 cmd="phantom__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,remove)
[INFO] [stdout]                 cmd="phantom__subcmd__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,reveal)
[INFO] [stdout]                 cmd="phantom__subcmd__reveal"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,rotate)
[INFO] [stdout]                 cmd="phantom__subcmd__rotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,setup)
[INFO] [stdout]                 cmd="phantom__subcmd__setup"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,start)
[INFO] [stdout]                 cmd="phantom__subcmd__start"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,status)
[INFO] [stdout]                 cmd="phantom__subcmd__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,stop)
[INFO] [stdout]                 cmd="phantom__subcmd__stop"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,sync)
[INFO] [stdout]                 cmd="phantom__subcmd__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,team)
[INFO] [stdout]                 cmd="phantom__subcmd__team"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,unwrap)
[INFO] [stdout]                 cmd="phantom__subcmd__unwrap"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,upgrade)
[INFO] [stdout]                 cmd="phantom__subcmd__upgrade"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,watch)
[INFO] [stdout]                 cmd="phantom__subcmd__watch"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,why)
[INFO] [stdout]                 cmd="phantom__subcmd__why"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom,wrap)
[INFO] [stdout]                 cmd="phantom__subcmd__wrap"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent,doctor)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent,help)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent,report)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__report"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent,setup)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__setup"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent__subcmd__help,doctor)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__help__subcmd__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent__subcmd__help,help)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__help__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent__subcmd__help,report)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__help__subcmd__report"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__agent__subcmd__help,setup)
[INFO] [stdout]                 cmd="phantom__subcmd__agent__subcmd__help__subcmd__setup"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit,help)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit,path)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__path"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit,show)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit,tail)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__tail"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit,verify)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__verify"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit__subcmd__help,help)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__help__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit__subcmd__help,path)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__help__subcmd__path"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit__subcmd__help,show)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__help__subcmd__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit__subcmd__help,tail)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__help__subcmd__tail"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__audit__subcmd__help,verify)
[INFO] [stdout]                 cmd="phantom__subcmd__audit__subcmd__help__subcmd__verify"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud,help)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud,pull)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud,push)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud,status)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud__subcmd__help,help)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__help__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud__subcmd__help,pull)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__help__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud__subcmd__help,push)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__help__subcmd__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__cloud__subcmd__help,status)
[INFO] [stdout]                 cmd="phantom__subcmd__cloud__subcmd__help__subcmd__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,__clear-clipboard-after)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd____clear__subcmd__clipboard__subcmd__after"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,add)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__add"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,agent)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__agent"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,audit)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__audit"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,check)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__check"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,cloud)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__cloud"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,completion)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__completion"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,copy)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__copy"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,doctor)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,env)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__env"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,exec)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__exec"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,export)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__export"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,help)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,import)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__import"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,init)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__init"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,list)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,login)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__login"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,logout)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__logout"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,mcp)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__mcp"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,open)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__open"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,pull)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,remove)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__remove"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,reveal)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__reveal"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,rotate)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__rotate"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,setup)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__setup"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,start)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__start"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,status)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,stop)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__stop"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,sync)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__sync"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,team)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,unwrap)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__unwrap"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,upgrade)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__upgrade"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,watch)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__watch"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,why)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__why"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help,wrap)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__wrap"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__agent,doctor)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__agent__subcmd__doctor"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__agent,report)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__agent__subcmd__report"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__agent,setup)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__agent__subcmd__setup"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__audit,path)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__audit__subcmd__path"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__audit,show)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__audit__subcmd__show"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__audit,tail)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__audit__subcmd__tail"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__audit,verify)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__audit__subcmd__verify"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__cloud,pull)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__cloud__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__cloud,push)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__cloud__subcmd__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__cloud,status)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__cloud__subcmd__status"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__mcp,serve)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__mcp__subcmd__serve"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,create)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__create"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,invite)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__invite"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,key-publish)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__key__subcmd__publish"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,list)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,members)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__members"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,vault-pull)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__vault__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__help__subcmd__team,vault-push)
[INFO] [stdout]                 cmd="phantom__subcmd__help__subcmd__team__subcmd__vault__subcmd__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__mcp,help)
[INFO] [stdout]                 cmd="phantom__subcmd__mcp__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__mcp,serve)
[INFO] [stdout]                 cmd="phantom__subcmd__mcp__subcmd__serve"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__mcp__subcmd__help,help)
[INFO] [stdout]                 cmd="phantom__subcmd__mcp__subcmd__help__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__mcp__subcmd__help,serve)
[INFO] [stdout]                 cmd="phantom__subcmd__mcp__subcmd__help__subcmd__serve"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,create)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__create"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,help)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,invite)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__invite"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,key-publish)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__key__subcmd__publish"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,list)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,members)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__members"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,vault-pull)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__vault__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team,vault-push)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__vault__subcmd__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,create)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__create"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,help)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__help"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,invite)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__invite"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,key-publish)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__key__subcmd__publish"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,list)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__list"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,members)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__members"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,vault-pull)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__vault__subcmd__pull"
[INFO] [stdout]                 ;;
[INFO] [stdout]             phantom__subcmd__team__subcmd__help,vault-push)
[INFO] [stdout]                 cmd="phantom__subcmd__team__subcmd__help__subcmd__vault__subcmd__push"
[INFO] [stdout]                 ;;
[INFO] [stdout]             *)
[INFO] [stdout]                 ;;
[INFO] [stdout]         esac
[INFO] [stdout]     done
[INFO] [stdout] 
[INFO] [stdout]     case "${cmd}" in
[INFO] [stdout]         phantom)
[INFO] [stdout]             opts="-v -q -h -V --verbose --quiet --json --help --version init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd____clear__subcmd__clipboard__subcmd__after)
[INFO] [stdout]             opts="-v -q -h --secs --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --secs)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__add)
[INFO] [stdout]             opts="-v -q -h --stdin --verbose --quiet --json --help <NAME> [VALUE]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help report doctor setup help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__doctor)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__help)
[INFO] [stdout]             opts="report doctor setup help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__help__subcmd__doctor)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__help__subcmd__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__help__subcmd__report)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__help__subcmd__setup)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__report)
[INFO] [stdout]             opts="-v -q -h --json --verbose --quiet --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__agent__subcmd__setup)
[INFO] [stdout]             opts="-v -q -h --dry-run --apply --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help show tail path verify help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__help)
[INFO] [stdout]             opts="show tail path verify help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__help__subcmd__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__help__subcmd__path)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__help__subcmd__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__help__subcmd__tail)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__help__subcmd__verify)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__path)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__show)
[INFO] [stdout]             opts="-v -q -h --last --op --name --json --verbose --quiet --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --last)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --op)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__tail)
[INFO] [stdout]             opts="-v -q -h --op --name --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --op)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --name)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__audit__subcmd__verify)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__check)
[INFO] [stdout]             opts="-v -q -h --staged --runtime --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help push pull status help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__help)
[INFO] [stdout]             opts="push pull status help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__help__subcmd__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__help__subcmd__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__help__subcmd__push)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__help__subcmd__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__pull)
[INFO] [stdout]             opts="-v -q -h --force --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__push)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__cloud__subcmd__status)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__completion)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help bash elvish fish powershell zsh"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__copy)
[INFO] [stdout]             opts="-v -q -h --to --rename --verbose --quiet --json --help <NAME>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --to)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --rename)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__doctor)
[INFO] [stdout]             opts="-v -q -h --fix --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__env)
[INFO] [stdout]             opts="-o -v -q -h --output --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --output)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -o)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__exec)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <CMD>..."
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__export)
[INFO] [stdout]             opts="-o -p -v -q -h --output --passphrase --json --allow-plaintext --verbose --quiet --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --output)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -o)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --passphrase)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help)
[INFO] [stdout]             opts="init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd____clear__subcmd__clipboard__subcmd__after)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__add)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__agent)
[INFO] [stdout]             opts="report doctor setup"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__agent__subcmd__doctor)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__agent__subcmd__report)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__agent__subcmd__setup)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__audit)
[INFO] [stdout]             opts="show tail path verify"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__audit__subcmd__path)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__audit__subcmd__show)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__audit__subcmd__tail)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__audit__subcmd__verify)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__check)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__cloud)
[INFO] [stdout]             opts="push pull status"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__cloud__subcmd__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__cloud__subcmd__push)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__cloud__subcmd__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__completion)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__copy)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__doctor)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__env)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__exec)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__export)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__import)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__init)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__login)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__logout)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__mcp)
[INFO] [stdout]             opts="serve"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__mcp__subcmd__serve)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__open)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__remove)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__reveal)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__rotate)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__setup)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__start)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__status)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__stop)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__sync)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team)
[INFO] [stdout]             opts="list create members invite key-publish vault-push vault-pull"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__create)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__invite)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__key__subcmd__publish)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__members)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__vault__subcmd__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__team__subcmd__vault__subcmd__push)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__unwrap)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__upgrade)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__watch)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__why)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__help__subcmd__wrap)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__import)
[INFO] [stdout]             opts="-p -v -q -h --passphrase --from --file-path --force --verbose --quiet --json --help [FILE]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --passphrase)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --from)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --file-path)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__init)
[INFO] [stdout]             opts="-f -j -v -q -h --from --all --dry-run --jobs --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --from)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -f)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --all)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --jobs)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -j)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__list)
[INFO] [stdout]             opts="-v -q -h --json --verbose --quiet --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__login)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__logout)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__mcp)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help serve help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__mcp__subcmd__help)
[INFO] [stdout]             opts="serve help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__mcp__subcmd__help__subcmd__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__mcp__subcmd__help__subcmd__serve)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__mcp__subcmd__serve)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__open)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help [TARGET]"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__pull)
[INFO] [stdout]             opts="-v -q -h --from --project --environment --service --force --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --from)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --project)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --environment)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --service)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__remove)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <NAME>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__reveal)
[INFO] [stdout]             opts="-c -y -v -q -h --clipboard --yes --verbose --quiet --json --help <NAME>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__rotate)
[INFO] [stdout]             opts="-v -q -h --sync --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__setup)
[INFO] [stdout]             opts="-c -v -q -h --client --print --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --client)
[INFO] [stdout]                     COMPREPLY=($(compgen -W "claude cursor windsurf codex" -- "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -c)
[INFO] [stdout]                     COMPREPLY=($(compgen -W "claude cursor windsurf codex" -- "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__start)
[INFO] [stdout]             opts="-d -v -q -h --daemon --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__status)
[INFO] [stdout]             opts="-v -q -h --oneline --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__stop)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__sync)
[INFO] [stdout]             opts="-p -v -q -h --platform --project --dry-run --only --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --platform)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 -p)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --project)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --only)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help list create members invite key-publish vault-push vault-pull help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__create)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <NAME>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help)
[INFO] [stdout]             opts="list create members invite key-publish vault-push vault-pull help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__create)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__help)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__invite)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__key__subcmd__publish)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__list)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__members)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__vault__subcmd__pull)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__help__subcmd__vault__subcmd__push)
[INFO] [stdout]             opts=""
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__invite)
[INFO] [stdout]             opts="-v -q -h --role --verbose --quiet --json --help <TEAM_ID> <GITHUB_LOGIN>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --role)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__key__subcmd__publish)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <TEAM_ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__list)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__members)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <TEAM_ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__vault__subcmd__pull)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <TEAM_ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__team__subcmd__vault__subcmd__push)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <TEAM_ID>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__unwrap)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__upgrade)
[INFO] [stdout]             opts="-v -q -h --force --check-only --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__watch)
[INFO] [stdout]             opts="-v -q -h --auto --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__why)
[INFO] [stdout]             opts="-v -q -h --verbose --quiet --json --help <KEY>"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]         phantom__subcmd__wrap)
[INFO] [stdout]             opts="-v -q -h --only --skip --verbose --quiet --json --help"
[INFO] [stdout]             if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
[INFO] [stdout]                 COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]                 return 0
[INFO] [stdout]             fi
[INFO] [stdout]             case "${prev}" in
[INFO] [stdout]                 --only)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 --skip)
[INFO] [stdout]                     COMPREPLY=($(compgen -f "${cur}"))
[INFO] [stdout]                     return 0
[INFO] [stdout]                     ;;
[INFO] [stdout]                 *)
[INFO] [stdout]                     COMPREPLY=()
[INFO] [stdout]                     ;;
[INFO] [stdout]             esac
[INFO] [stdout]             COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
[INFO] [stdout]             return 0
[INFO] [stdout]             ;;
[INFO] [stdout]     esac
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then
[INFO] [stdout]     complete -F _phantom -o nosort -o bashdefault -o default phantom
[INFO] [stdout] else
[INFO] [stdout]     complete -F _phantom -o bashdefault -o default phantom
[INFO] [stdout] fi
[INFO] [stdout] #compdef phantom
[INFO] [stdout] 
[INFO] [stdout] autoload -U is-at-least
[INFO] [stdout] 
[INFO] [stdout] _phantom() {
[INFO] [stdout]     typeset -A opt_args
[INFO] [stdout]     typeset -a _arguments_options
[INFO] [stdout]     local ret=1
[INFO] [stdout] 
[INFO] [stdout]     if is-at-least 5.2; then
[INFO] [stdout]         _arguments_options=(-s -S -C)
[INFO] [stdout]     else
[INFO] [stdout]         _arguments_options=(-s -C)
[INFO] [stdout]     fi
[INFO] [stdout] 
[INFO] [stdout]     local context curcontext="$curcontext" state line
[INFO] [stdout]     _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] '--help[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] '-V[Print version]' \
[INFO] [stdout] '--version[Print version]' \
[INFO] [stdout] ":: :_phantom_commands" \
[INFO] [stdout] "*::: :->phantom" \
[INFO] [stdout] && ret=0
[INFO] [stdout]     case $state in
[INFO] [stdout]     (phantom)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (init)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-f+[Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories]:FROM:_default' \
[INFO] [stdout] '--from=[Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories]:FROM:_default' \
[INFO] [stdout] '--all=[Protect every git repo with a .env under <DIR> in one go. Skips repos that already have .phantom.toml]:DIR:_files' \
[INFO] [stdout] '-j+[With --all\: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4]:N:_default' \
[INFO] [stdout] '--jobs=[With --all\: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4]:N:_default' \
[INFO] [stdout] '--dry-run[With --all\: scan and report what would change without modifying anything]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (setup)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-c+[AI client to configure. Defaults to Claude Code if omitted]:CLIENT:((claude\:"Claude Code — writes .claude/settings.local.json in the project"
[INFO] [stdout] cursor\:"Cursor — writes ~/.cursor/mcp.json"
[INFO] [stdout] windsurf\:"Windsurf — writes ~/.codeium/windsurf/mcp_config.json"
[INFO] [stdout] codex\:"Codex (OpenAI) — patches ~/.codex/config.toml"))' \
[INFO] [stdout] '--client=[AI client to configure. Defaults to Claude Code if omitted]:CLIENT:((claude\:"Claude Code — writes .claude/settings.local.json in the project"
[INFO] [stdout] cursor\:"Cursor — writes ~/.cursor/mcp.json"
[INFO] [stdout] windsurf\:"Windsurf — writes ~/.codeium/windsurf/mcp_config.json"
[INFO] [stdout] codex\:"Codex (OpenAI) — patches ~/.codex/config.toml"))' \
[INFO] [stdout] '--print[Print the config snippet to stdout instead of writing files]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] '--help[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (agent)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ":: :_phantom__subcmd__agent_commands" \
[INFO] [stdout] "*::: :->agent" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (agent)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-agent-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (report)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--json[Emit stable JSON]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (doctor)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (setup)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '(--apply)--dry-run[Show planned actions without changing files]' \
[INFO] [stdout] '(--dry-run)--apply[Apply setup actions]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__agent__subcmd__help_commands" \
[INFO] [stdout] "*::: :->help" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (help)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-agent-help-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (report)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (doctor)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (setup)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (doctor)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--fix[Auto-fix safe issues (install hooks, generate .env.example, etc.)]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (completion)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] '--help[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] ':shell -- Shell to generate completions for:(bash elvish fish powershell zsh)' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (mcp)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ":: :_phantom__subcmd__mcp_commands" \
[INFO] [stdout] "*::: :->mcp" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (mcp)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-mcp-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (serve)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__mcp__subcmd__help_commands" \
[INFO] [stdout] "*::: :->help" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (help)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-mcp-help-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (serve)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (exec)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] '*::cmd -- Command and arguments to run:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (start)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-d[Run in background (daemon mode)]' \
[INFO] [stdout] '--daemon[Run in background (daemon mode)]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (stop)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (status)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--oneline[Compact one-line output for shell prompts (e.g., "3 secrets · proxy off")]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (check)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--staged[Only scan git-staged files (skip .env scanning, faster for pre-commit hooks)]' \
[INFO] [stdout] '--runtime[Check if phantom tokens are in environment without proxy running]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (list)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--json[Emit JSON instead of the human-readable table]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (add)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--stdin[Read the secret value from stdin (for piped use\: echo "\$VAL" | phantom add KEY --stdin)]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':name -- Secret name (e.g., OPENAI_API_KEY):_default' \
[INFO] [stdout] '::value -- Secret value. If omitted, phantom prompts silently on the terminal. Use --stdin to read from a pipe instead:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (remove)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':name -- Secret name to remove:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (reveal)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-c[Copy to clipboard instead of printing (auto-clears after 30s)]' \
[INFO] [stdout] '--clipboard[Copy to clipboard instead of printing (auto-clears after 30s)]' \
[INFO] [stdout] '-y[Skip confirmation (required for non-interactive use)]' \
[INFO] [stdout] '--yes[Skip confirmation (required for non-interactive use)]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':name -- Secret name to reveal:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (copy)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--to=[Target project directory]:TO:_files' \
[INFO] [stdout] '--rename=[Rename the secret in the target project]:RENAME:_default' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':name -- Secret name in this project:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (env)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-o+[Output file name (defaults to .env.example)]:OUTPUT:_default' \
[INFO] [stdout] '--output=[Output file name (defaults to .env.example)]:OUTPUT:_default' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (why)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':key -- Environment variable name to explain:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (login)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (logout)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (cloud)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ":: :_phantom__subcmd__cloud_commands" \
[INFO] [stdout] "*::: :->cloud" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (cloud)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-cloud-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (push)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--force[Overwrite existing local secrets]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (status)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__cloud__subcmd__help_commands" \
[INFO] [stdout] "*::: :->help" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (help)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-cloud-help-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (push)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (status)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (team)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ":: :_phantom__subcmd__team_commands" \
[INFO] [stdout] "*::: :->team" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (team)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-team-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (list)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (create)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':name -- Team name:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (members)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':team_id -- Team ID:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (invite)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--role=[Role to assign (member, admin, owner)]:ROLE:_default' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':team_id -- Team ID:_default' \
[INFO] [stdout] ':github_login -- GitHub username to invite:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (key-publish)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':team_id -- Team ID:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (vault-push)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':team_id -- Team ID:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (vault-pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ':team_id -- Team ID:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__team__subcmd__help_commands" \
[INFO] [stdout] "*::: :->help" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (help)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-team-help-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (list)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (create)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (members)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (invite)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (key-publish)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (vault-push)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (vault-pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (sync)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-p+[Platform to sync to (vercel, railway). Syncs all configured targets if omitted]:PLATFORM:_default' \
[INFO] [stdout] '--platform=[Platform to sync to (vercel, railway). Syncs all configured targets if omitted]:PLATFORM:_default' \
[INFO] [stdout] '--project=[Override project ID for this sync]:PROJECT:_default' \
[INFO] [stdout] '*--only=[Only push secrets whose names match this glob pattern (e.g. STRIPE_*). Repeatable\: multiple --only flags are OR-ed together. Also honoured via \`only = \[...\]\` in each \[\[sync\]\] block in .phantom.toml]:PATTERN:_default' \
[INFO] [stdout] '--dry-run[Preview targets, filters, and selected secret names without decrypting values or calling platform APIs]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--from=[Platform to pull from (vercel, railway)]:FROM:_default' \
[INFO] [stdout] '--project=[Project ID on the platform]:PROJECT:_default' \
[INFO] [stdout] '--environment=[Environment (Railway only, defaults to "production")]:ENVIRONMENT:_default' \
[INFO] [stdout] '--service=[Service ID (Railway only)]:SERVICE:_default' \
[INFO] [stdout] '--force[Overwrite existing local secrets]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (export)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-o+[Output file path (encrypted mode)]:OUTPUT:_default' \
[INFO] [stdout] '--output=[Output file path (encrypted mode)]:OUTPUT:_default' \
[INFO] [stdout] '-p+[Encryption passphrase (encrypted mode)]:PASSPHRASE:_default' \
[INFO] [stdout] '--passphrase=[Encryption passphrase (encrypted mode)]:PASSPHRASE:_default' \
[INFO] [stdout] '--json[Emit secrets as a plaintext JSON object to stdout instead of an encrypted file]' \
[INFO] [stdout] '--allow-plaintext[Required with --json\: acknowledge that secrets will be emitted in plaintext]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (import)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-p+[Decryption passphrase (legacy mode, required without --from)]:PASSPHRASE:_default' \
[INFO] [stdout] '--passphrase=[Decryption passphrase (legacy mode, required without --from)]:PASSPHRASE:_default' \
[INFO] [stdout] '--from=[Import source\: doppler | infisical | dotenvx | 1password | env]:SOURCE:_default' \
[INFO] [stdout] '--file-path=[Path to the export file (required with --from)]:FILE:_default' \
[INFO] [stdout] '--force[Overwrite existing secrets without prompting]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] '--help[Print help (see more with '\''--help'\'')]' \
[INFO] [stdout] '::file -- Path to the encrypted backup file (legacy mode):_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (wrap)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '*--only=[Only wrap specific scripts (by name)]:ONLY:_default' \
[INFO] [stdout] '*--skip=[Skip specific scripts (by name)]:SKIP:_default' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (unwrap)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (upgrade)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--force[Skip confirmation prompt and upgrade immediately]' \
[INFO] [stdout] '--check-only[Print available version without modifying the binary]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (watch)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--auto[Auto-protect new secrets without prompting]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (rotate)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--sync[Also sync secrets to all configured deployment platforms after rotation]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (audit)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] ":: :_phantom__subcmd__audit_commands" \
[INFO] [stdout] "*::: :->audit" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (audit)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-audit-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (show)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--last=[Limit output to the last N events (default 50)]:LAST:_default' \
[INFO] [stdout] '--op=[Filter by operation (e.g. vault.store, vault.retrieve)]:OP:_default' \
[INFO] [stdout] '--name=[Filter by secret name (e.g. OPENAI_API_KEY)]:NAME:_default' \
[INFO] [stdout] '--json[Emit raw JSONL instead of pretty-printing]' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (tail)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--op=[Filter by operation]:OP:_default' \
[INFO] [stdout] '--name=[Filter by secret name]:NAME:_default' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (path)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (verify)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__audit__subcmd__help_commands" \
[INFO] [stdout] "*::: :->help" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (help)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-audit-help-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (show)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (tail)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (path)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (verify)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (open)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] '::target -- What to open. Defaults to the dashboard if omitted:_default' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (__clear-clipboard-after)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] '--secs=[Seconds to wait before clearing]:SECS:_default' \
[INFO] [stdout] '-v[Enable verbose/debug logging]' \
[INFO] [stdout] '--verbose[Enable verbose/debug logging]' \
[INFO] [stdout] '-q[Suppress all output except errors]' \
[INFO] [stdout] '--quiet[Suppress all output except errors]' \
[INFO] [stdout] '--json[Output in JSON format (for scripting)]' \
[INFO] [stdout] '-h[Print help]' \
[INFO] [stdout] '--help[Print help]' \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__help_commands" \
[INFO] [stdout] "*::: :->help" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (help)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-help-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (init)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (setup)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (agent)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__help__subcmd__agent_commands" \
[INFO] [stdout] "*::: :->agent" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (agent)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-help-agent-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (report)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (doctor)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (setup)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (doctor)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (completion)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (mcp)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__help__subcmd__mcp_commands" \
[INFO] [stdout] "*::: :->mcp" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (mcp)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-help-mcp-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (serve)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (exec)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (start)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (stop)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (status)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (check)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (list)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (add)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (remove)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (reveal)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (copy)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (env)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (why)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (login)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (logout)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (cloud)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__help__subcmd__cloud_commands" \
[INFO] [stdout] "*::: :->cloud" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (cloud)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-help-cloud-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (push)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (status)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (team)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__help__subcmd__team_commands" \
[INFO] [stdout] "*::: :->team" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (team)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-help-team-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (list)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (create)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (members)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (invite)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (key-publish)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (vault-push)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (vault-pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (sync)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (pull)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (export)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (import)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (wrap)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (unwrap)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (upgrade)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (watch)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (rotate)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (audit)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] ":: :_phantom__subcmd__help__subcmd__audit_commands" \
[INFO] [stdout] "*::: :->audit" \
[INFO] [stdout] && ret=0
[INFO] [stdout] 
[INFO] [stdout]     case $state in
[INFO] [stdout]     (audit)
[INFO] [stdout]         words=($line[1] "${words[@]}")
[INFO] [stdout]         (( CURRENT += 1 ))
[INFO] [stdout]         curcontext="${curcontext%:*:*}:phantom-help-audit-command-$line[1]:"
[INFO] [stdout]         case $line[1] in
[INFO] [stdout]             (show)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (tail)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (path)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (verify)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout] (open)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (__clear-clipboard-after)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout] (help)
[INFO] [stdout] _arguments "${_arguments_options[@]}" : \
[INFO] [stdout] && ret=0
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] ;;
[INFO] [stdout]         esac
[INFO] [stdout]     ;;
[INFO] [stdout] esac
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] (( $+functions[_phantom_commands] )) ||
[INFO] [stdout] _phantom_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'init:Import .env secrets into the vault and rewrite with phantom tokens' \
[INFO] [stdout] 'setup:Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)' \
[INFO] [stdout] 'agent:Agent readiness report, doctor, and setup workflows' \
[INFO] [stdout] 'doctor:Check configuration and vault health' \
[INFO] [stdout] 'completion:Print a shell-completion script to stdout' \
[INFO] [stdout] 'mcp:MCP server commands (Model Context Protocol)' \
[INFO] [stdout] 'exec:Start the proxy and run a command' \
[INFO] [stdout] 'start:Start the proxy server' \
[INFO] [stdout] 'stop:Stop the background proxy server' \
[INFO] [stdout] 'status:Show proxy status and mapped secrets' \
[INFO] [stdout] 'check:Check for unprotected secrets (pre-commit hook)' \
[INFO] [stdout] 'list:List stored secret names (never shows values)' \
[INFO] [stdout] 'add:Add a secret to the vault' \
[INFO] [stdout] 'remove:Remove a secret from the vault' \
[INFO] [stdout] 'reveal:Reveal a secret value (print to stdout or copy to clipboard)' \
[INFO] [stdout] 'copy:Copy a secret from this project'\''s vault to another project' \
[INFO] [stdout] 'env:Generate .env.example for team onboarding' \
[INFO] [stdout] 'why:Explain why a key is or isn'\''t protected' \
[INFO] [stdout] 'login:Log in to Phantom Cloud' \
[INFO] [stdout] 'logout:Log out of Phantom Cloud' \
[INFO] [stdout] 'cloud:Cloud vault sync commands' \
[INFO] [stdout] 'team:Team vault management' \
[INFO] [stdout] 'sync:Sync secrets to deployment platforms (Vercel, Railway)' \
[INFO] [stdout] 'pull:Pull secrets from a deployment platform into the vault' \
[INFO] [stdout] 'export:Export secrets to an encrypted backup file or as plaintext JSON to stdout' \
[INFO] [stdout] 'import:Import secrets from an encrypted backup or a competitor export' \
[INFO] [stdout] 'wrap:Wrap package.json scripts with \`phantom exec\` (no more manual prefix)' \
[INFO] [stdout] 'unwrap:Unwrap package.json scripts (restore originals from \:raw variants)' \
[INFO] [stdout] 'upgrade:Self-replace this binary with the latest GitHub release' \
[INFO] [stdout] 'watch:Watch .env files and auto-detect new unprotected secrets' \
[INFO] [stdout] 'rotate:Regenerate phantom tokens (invalidates old ones)' \
[INFO] [stdout] 'audit:View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)' \
[INFO] [stdout] 'open:Open a Phantom page in the browser. Defaults to the dashboard. Aliases\: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https\://phm.dev/<word>; full URLs pass through' \
[INFO] [stdout] '__clear-clipboard-after:Internal\: clear the system clipboard after N seconds. Spawned by \`phantom reveal --copy\` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from \`--help\`' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd____clear-clipboard-after_commands] )) ||
[INFO] [stdout] _phantom__subcmd____clear-clipboard-after_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom __clear-clipboard-after commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__add_commands] )) ||
[INFO] [stdout] _phantom__subcmd__add_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom add commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'report:Emit the read-only readiness report' \
[INFO] [stdout] 'doctor:Human-readable view of the readiness report' \
[INFO] [stdout] 'setup:Initialize safe defaults for AI-agent use' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom agent commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__doctor_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__doctor_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent doctor commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'report:Emit the read-only readiness report' \
[INFO] [stdout] 'doctor:Human-readable view of the readiness report' \
[INFO] [stdout] 'setup:Initialize safe defaults for AI-agent use' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom agent help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__help__subcmd__doctor_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__help__subcmd__doctor_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent help doctor commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__help__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__help__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent help help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__help__subcmd__report_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__help__subcmd__report_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent help report commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__help__subcmd__setup_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__help__subcmd__setup_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent help setup commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__report_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__report_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent report commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__agent__subcmd__setup_commands] )) ||
[INFO] [stdout] _phantom__subcmd__agent__subcmd__setup_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom agent setup commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'show:Print recent audit events (default\: last 50)' \
[INFO] [stdout] 'tail:Follow the audit log (like tail -f)' \
[INFO] [stdout] 'path:Print the absolute path to the audit log' \
[INFO] [stdout] 'verify:Verify the HMAC chain integrity of the audit log' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom audit commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'show:Print recent audit events (default\: last 50)' \
[INFO] [stdout] 'tail:Follow the audit log (like tail -f)' \
[INFO] [stdout] 'path:Print the absolute path to the audit log' \
[INFO] [stdout] 'verify:Verify the HMAC chain integrity of the audit log' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom audit help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__help__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__help__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit help help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__help__subcmd__path_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__help__subcmd__path_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit help path commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__help__subcmd__show_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__help__subcmd__show_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit help show commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__help__subcmd__tail_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__help__subcmd__tail_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit help tail commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__help__subcmd__verify_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__help__subcmd__verify_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit help verify commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__path_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__path_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit path commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__show_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__show_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit show commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__tail_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__tail_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit tail commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__audit__subcmd__verify_commands] )) ||
[INFO] [stdout] _phantom__subcmd__audit__subcmd__verify_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom audit verify commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__check_commands] )) ||
[INFO] [stdout] _phantom__subcmd__check_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom check commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'push:Push local secrets to Phantom Cloud' \
[INFO] [stdout] 'pull:Pull secrets from Phantom Cloud to local vault' \
[INFO] [stdout] 'status:Show cloud sync status' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom cloud commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'push:Push local secrets to Phantom Cloud' \
[INFO] [stdout] 'pull:Pull secrets from Phantom Cloud to local vault' \
[INFO] [stdout] 'status:Show cloud sync status' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom cloud help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__help__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__help__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud help help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__help__subcmd__pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__help__subcmd__pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud help pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__help__subcmd__push_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__help__subcmd__push_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud help push commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__help__subcmd__status_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__help__subcmd__status_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud help status commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__push_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__push_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud push commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__cloud__subcmd__status_commands] )) ||
[INFO] [stdout] _phantom__subcmd__cloud__subcmd__status_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom cloud status commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__completion_commands] )) ||
[INFO] [stdout] _phantom__subcmd__completion_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom completion commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__copy_commands] )) ||
[INFO] [stdout] _phantom__subcmd__copy_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom copy commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__doctor_commands] )) ||
[INFO] [stdout] _phantom__subcmd__doctor_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom doctor commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__env_commands] )) ||
[INFO] [stdout] _phantom__subcmd__env_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom env commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__exec_commands] )) ||
[INFO] [stdout] _phantom__subcmd__exec_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom exec commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__export_commands] )) ||
[INFO] [stdout] _phantom__subcmd__export_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom export commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'init:Import .env secrets into the vault and rewrite with phantom tokens' \
[INFO] [stdout] 'setup:Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)' \
[INFO] [stdout] 'agent:Agent readiness report, doctor, and setup workflows' \
[INFO] [stdout] 'doctor:Check configuration and vault health' \
[INFO] [stdout] 'completion:Print a shell-completion script to stdout' \
[INFO] [stdout] 'mcp:MCP server commands (Model Context Protocol)' \
[INFO] [stdout] 'exec:Start the proxy and run a command' \
[INFO] [stdout] 'start:Start the proxy server' \
[INFO] [stdout] 'stop:Stop the background proxy server' \
[INFO] [stdout] 'status:Show proxy status and mapped secrets' \
[INFO] [stdout] 'check:Check for unprotected secrets (pre-commit hook)' \
[INFO] [stdout] 'list:List stored secret names (never shows values)' \
[INFO] [stdout] 'add:Add a secret to the vault' \
[INFO] [stdout] 'remove:Remove a secret from the vault' \
[INFO] [stdout] 'reveal:Reveal a secret value (print to stdout or copy to clipboard)' \
[INFO] [stdout] 'copy:Copy a secret from this project'\''s vault to another project' \
[INFO] [stdout] 'env:Generate .env.example for team onboarding' \
[INFO] [stdout] 'why:Explain why a key is or isn'\''t protected' \
[INFO] [stdout] 'login:Log in to Phantom Cloud' \
[INFO] [stdout] 'logout:Log out of Phantom Cloud' \
[INFO] [stdout] 'cloud:Cloud vault sync commands' \
[INFO] [stdout] 'team:Team vault management' \
[INFO] [stdout] 'sync:Sync secrets to deployment platforms (Vercel, Railway)' \
[INFO] [stdout] 'pull:Pull secrets from a deployment platform into the vault' \
[INFO] [stdout] 'export:Export secrets to an encrypted backup file or as plaintext JSON to stdout' \
[INFO] [stdout] 'import:Import secrets from an encrypted backup or a competitor export' \
[INFO] [stdout] 'wrap:Wrap package.json scripts with \`phantom exec\` (no more manual prefix)' \
[INFO] [stdout] 'unwrap:Unwrap package.json scripts (restore originals from \:raw variants)' \
[INFO] [stdout] 'upgrade:Self-replace this binary with the latest GitHub release' \
[INFO] [stdout] 'watch:Watch .env files and auto-detect new unprotected secrets' \
[INFO] [stdout] 'rotate:Regenerate phantom tokens (invalidates old ones)' \
[INFO] [stdout] 'audit:View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)' \
[INFO] [stdout] 'open:Open a Phantom page in the browser. Defaults to the dashboard. Aliases\: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https\://phm.dev/<word>; full URLs pass through' \
[INFO] [stdout] '__clear-clipboard-after:Internal\: clear the system clipboard after N seconds. Spawned by \`phantom reveal --copy\` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from \`--help\`' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd____clear-clipboard-after_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd____clear-clipboard-after_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help __clear-clipboard-after commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__add_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__add_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help add commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__agent_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__agent_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'report:Emit the read-only readiness report' \
[INFO] [stdout] 'doctor:Human-readable view of the readiness report' \
[INFO] [stdout] 'setup:Initialize safe defaults for AI-agent use' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom help agent commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__agent__subcmd__doctor_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__agent__subcmd__doctor_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help agent doctor commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__agent__subcmd__report_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__agent__subcmd__report_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help agent report commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__agent__subcmd__setup_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__agent__subcmd__setup_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help agent setup commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__audit_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__audit_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'show:Print recent audit events (default\: last 50)' \
[INFO] [stdout] 'tail:Follow the audit log (like tail -f)' \
[INFO] [stdout] 'path:Print the absolute path to the audit log' \
[INFO] [stdout] 'verify:Verify the HMAC chain integrity of the audit log' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom help audit commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__audit__subcmd__path_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__audit__subcmd__path_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help audit path commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__audit__subcmd__show_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__audit__subcmd__show_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help audit show commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__audit__subcmd__tail_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__audit__subcmd__tail_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help audit tail commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__audit__subcmd__verify_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__audit__subcmd__verify_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help audit verify commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__check_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__check_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help check commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__cloud_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__cloud_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'push:Push local secrets to Phantom Cloud' \
[INFO] [stdout] 'pull:Pull secrets from Phantom Cloud to local vault' \
[INFO] [stdout] 'status:Show cloud sync status' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom help cloud commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__cloud__subcmd__pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__cloud__subcmd__pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help cloud pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__cloud__subcmd__push_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__cloud__subcmd__push_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help cloud push commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__cloud__subcmd__status_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__cloud__subcmd__status_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help cloud status commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__completion_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__completion_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help completion commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__copy_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__copy_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help copy commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__doctor_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__doctor_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help doctor commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__env_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__env_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help env commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__exec_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__exec_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help exec commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__export_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__export_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help export commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__import_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__import_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help import commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__init_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__init_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help init commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__list_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__list_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help list commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__login_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__login_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help login commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__logout_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__logout_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help logout commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__mcp_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__mcp_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'serve:Run the MCP stdio server in-process (used by AI clients like Claude Code)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom help mcp commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__mcp__subcmd__serve_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__mcp__subcmd__serve_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help mcp serve commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__open_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__open_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help open commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__remove_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__remove_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help remove commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__reveal_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__reveal_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help reveal commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__rotate_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__rotate_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help rotate commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__setup_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__setup_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help setup commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__start_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__start_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help start commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__status_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__status_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help status commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__stop_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__stop_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help stop commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__sync_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__sync_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help sync commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'list:List your teams' \
[INFO] [stdout] 'create:Create a new team' \
[INFO] [stdout] 'members:List team members' \
[INFO] [stdout] 'invite:Invite a member to a team' \
[INFO] [stdout] 'key-publish:Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults' \
[INFO] [stdout] 'vault-push:Push the current project'\''s vault to a team (E2E encrypted to every member that has a registered public key)' \
[INFO] [stdout] 'vault-pull:Pull the current project'\''s team vault into your local vault' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom help team commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__create_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__create_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team create commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__invite_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__invite_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team invite commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__key-publish_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__key-publish_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team key-publish commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__list_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__list_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team list commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__members_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__members_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team members commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__vault-pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__vault-pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team vault-pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__team__subcmd__vault-push_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__team__subcmd__vault-push_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help team vault-push commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__unwrap_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__unwrap_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help unwrap commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__upgrade_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__upgrade_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help upgrade commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__watch_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__watch_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help watch commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__why_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__why_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help why commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__help__subcmd__wrap_commands] )) ||
[INFO] [stdout] _phantom__subcmd__help__subcmd__wrap_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom help wrap commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__import_commands] )) ||
[INFO] [stdout] _phantom__subcmd__import_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom import commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__init_commands] )) ||
[INFO] [stdout] _phantom__subcmd__init_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom init commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__list_commands] )) ||
[INFO] [stdout] _phantom__subcmd__list_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom list commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__login_commands] )) ||
[INFO] [stdout] _phantom__subcmd__login_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom login commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__logout_commands] )) ||
[INFO] [stdout] _phantom__subcmd__logout_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom logout commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__mcp_commands] )) ||
[INFO] [stdout] _phantom__subcmd__mcp_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'serve:Run the MCP stdio server in-process (used by AI clients like Claude Code)' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom mcp commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__mcp__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__mcp__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'serve:Run the MCP stdio server in-process (used by AI clients like Claude Code)' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom mcp help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__mcp__subcmd__help__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__mcp__subcmd__help__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom mcp help help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__mcp__subcmd__help__subcmd__serve_commands] )) ||
[INFO] [stdout] _phantom__subcmd__mcp__subcmd__help__subcmd__serve_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom mcp help serve commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__mcp__subcmd__serve_commands] )) ||
[INFO] [stdout] _phantom__subcmd__mcp__subcmd__serve_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom mcp serve commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__open_commands] )) ||
[INFO] [stdout] _phantom__subcmd__open_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom open commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__remove_commands] )) ||
[INFO] [stdout] _phantom__subcmd__remove_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom remove commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__reveal_commands] )) ||
[INFO] [stdout] _phantom__subcmd__reveal_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom reveal commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__rotate_commands] )) ||
[INFO] [stdout] _phantom__subcmd__rotate_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom rotate commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__setup_commands] )) ||
[INFO] [stdout] _phantom__subcmd__setup_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom setup commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__start_commands] )) ||
[INFO] [stdout] _phantom__subcmd__start_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom start commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__status_commands] )) ||
[INFO] [stdout] _phantom__subcmd__status_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom status commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__stop_commands] )) ||
[INFO] [stdout] _phantom__subcmd__stop_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom stop commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__sync_commands] )) ||
[INFO] [stdout] _phantom__subcmd__sync_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom sync commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'list:List your teams' \
[INFO] [stdout] 'create:Create a new team' \
[INFO] [stdout] 'members:List team members' \
[INFO] [stdout] 'invite:Invite a member to a team' \
[INFO] [stdout] 'key-publish:Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults' \
[INFO] [stdout] 'vault-push:Push the current project'\''s vault to a team (E2E encrypted to every member that has a registered public key)' \
[INFO] [stdout] 'vault-pull:Pull the current project'\''s team vault into your local vault' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom team commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__create_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__create_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team create commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=(
[INFO] [stdout] 'list:List your teams' \
[INFO] [stdout] 'create:Create a new team' \
[INFO] [stdout] 'members:List team members' \
[INFO] [stdout] 'invite:Invite a member to a team' \
[INFO] [stdout] 'key-publish:Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults' \
[INFO] [stdout] 'vault-push:Push the current project'\''s vault to a team (E2E encrypted to every member that has a registered public key)' \
[INFO] [stdout] 'vault-pull:Pull the current project'\''s team vault into your local vault' \
[INFO] [stdout] 'help:Print this message or the help of the given subcommand(s)' \
[INFO] [stdout]     )
[INFO] [stdout]     _describe -t commands 'phantom team help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__create_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__create_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help create commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__help_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__help_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help help commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__invite_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__invite_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help invite commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__key-publish_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__key-publish_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help key-publish commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__list_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__list_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help list commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__members_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__members_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help members commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__vault-pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__vault-pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help vault-pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__help__subcmd__vault-push_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__help__subcmd__vault-push_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team help vault-push commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__invite_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__invite_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team invite commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__key-publish_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__key-publish_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team key-publish commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__list_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__list_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team list commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__members_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__members_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team members commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__vault-pull_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__vault-pull_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team vault-pull commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__team__subcmd__vault-push_commands] )) ||
[INFO] [stdout] _phantom__subcmd__team__subcmd__vault-push_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom team vault-push commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__unwrap_commands] )) ||
[INFO] [stdout] _phantom__subcmd__unwrap_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom unwrap commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__upgrade_commands] )) ||
[INFO] [stdout] _phantom__subcmd__upgrade_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom upgrade commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__watch_commands] )) ||
[INFO] [stdout] _phantom__subcmd__watch_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom watch commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__why_commands] )) ||
[INFO] [stdout] _phantom__subcmd__why_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom why commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] (( $+functions[_phantom__subcmd__wrap_commands] )) ||
[INFO] [stdout] _phantom__subcmd__wrap_commands() {
[INFO] [stdout]     local commands; commands=()
[INFO] [stdout]     _describe -t commands 'phantom wrap commands' commands "$@"
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] if [ "$funcstack[1]" = "_phantom" ]; then
[INFO] [stdout]     _phantom "$@"
[INFO] [stdout] else
[INFO] [stdout]     compdef _phantom phantom
[INFO] [stdout] fi
[INFO] [stdout] # Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
[INFO] [stdout] function __fish_phantom_global_optspecs
[INFO] [stdout] 	string join \n v/verbose q/quiet json h/help V/version
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] function __fish_phantom_needs_command
[INFO] [stdout] 	# Figure out if the current invocation already has a command.
[INFO] [stdout] 	set -l cmd (commandline -opc)
[INFO] [stdout] 	set -e cmd[1]
[INFO] [stdout] 	argparse -s (__fish_phantom_global_optspecs) -- $cmd 2>/dev/null
[INFO] [stdout] 	or return
[INFO] [stdout] 	if set -q argv[1]
[INFO] [stdout] 		# Also print the command, so this can be used to figure out what it is.
[INFO] [stdout] 		echo $argv[1]
[INFO] [stdout] 		return 1
[INFO] [stdout] 	end
[INFO] [stdout] 	return 0
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] function __fish_phantom_using_subcommand
[INFO] [stdout] 	set -l cmd (__fish_phantom_needs_command)
[INFO] [stdout] 	test -z "$cmd"
[INFO] [stdout] 	and return 1
[INFO] [stdout] 	contains -- $cmd[1] $argv
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -s h -l help -d 'Print help (see more with \'--help\')'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -s V -l version -d 'Print version'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "init" -d 'Import .env secrets into the vault and rewrite with phantom tokens'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "setup" -d 'Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "agent" -d 'Agent readiness report, doctor, and setup workflows'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "doctor" -d 'Check configuration and vault health'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "completion" -d 'Print a shell-completion script to stdout'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "mcp" -d 'MCP server commands (Model Context Protocol)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "exec" -d 'Start the proxy and run a command'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "start" -d 'Start the proxy server'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "stop" -d 'Stop the background proxy server'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "status" -d 'Show proxy status and mapped secrets'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "check" -d 'Check for unprotected secrets (pre-commit hook)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "list" -d 'List stored secret names (never shows values)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "add" -d 'Add a secret to the vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "remove" -d 'Remove a secret from the vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "reveal" -d 'Reveal a secret value (print to stdout or copy to clipboard)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "copy" -d 'Copy a secret from this project\'s vault to another project'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "env" -d 'Generate .env.example for team onboarding'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "why" -d 'Explain why a key is or isn\'t protected'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "login" -d 'Log in to Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "logout" -d 'Log out of Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "cloud" -d 'Cloud vault sync commands'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "team" -d 'Team vault management'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "sync" -d 'Sync secrets to deployment platforms (Vercel, Railway)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "pull" -d 'Pull secrets from a deployment platform into the vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "export" -d 'Export secrets to an encrypted backup file or as plaintext JSON to stdout'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "import" -d 'Import secrets from an encrypted backup or a competitor export'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "wrap" -d 'Wrap package.json scripts with `phantom exec` (no more manual prefix)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "unwrap" -d 'Unwrap package.json scripts (restore originals from :raw variants)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "upgrade" -d 'Self-replace this binary with the latest GitHub release'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "watch" -d 'Watch .env files and auto-detect new unprotected secrets'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "rotate" -d 'Regenerate phantom tokens (invalidates old ones)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "audit" -d 'View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "open" -d 'Open a Phantom page in the browser. Defaults to the dashboard. Aliases: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https://phm.dev/<word>; full URLs pass through'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "__clear-clipboard-after" -d 'Internal: clear the system clipboard after N seconds. Spawned by `phantom reveal --copy` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from `--help`'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_needs_command" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -s f -l from -d 'Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -l all -d 'Protect every git repo with a .env under <DIR> in one go. Skips repos that already have .phantom.toml' -r -F
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -s j -l jobs -d 'With --all: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -l dry-run -d 'With --all: scan and report what would change without modifying anything'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand init" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand setup" -s c -l client -d 'AI client to configure. Defaults to Claude Code if omitted' -r -f -a "claude\t'Claude Code — writes .claude/settings.local.json in the project'
[INFO] [stdout] cursor\t'Cursor — writes ~/.cursor/mcp.json'
[INFO] [stdout] windsurf\t'Windsurf — writes ~/.codeium/windsurf/mcp_config.json'
[INFO] [stdout] codex\t'Codex (OpenAI) — patches ~/.codex/config.toml'"
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand setup" -l print -d 'Print the config snippet to stdout instead of writing files'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand setup" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand setup" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand setup" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand setup" -s h -l help -d 'Print help (see more with \'--help\')'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -f -a "report" -d 'Emit the read-only readiness report'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -f -a "doctor" -d 'Human-readable view of the readiness report'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -f -a "setup" -d 'Initialize safe defaults for AI-agent use'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and not __fish_seen_subcommand_from report doctor setup help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from report" -l json -d 'Emit stable JSON'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from report" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from report" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from report" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from doctor" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from doctor" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from doctor" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from doctor" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from setup" -l dry-run -d 'Show planned actions without changing files'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from setup" -l apply -d 'Apply setup actions'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from setup" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from setup" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from setup" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from setup" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from help" -f -a "report" -d 'Emit the read-only readiness report'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from help" -f -a "doctor" -d 'Human-readable view of the readiness report'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from help" -f -a "setup" -d 'Initialize safe defaults for AI-agent use'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand agent; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand doctor" -l fix -d 'Auto-fix safe issues (install hooks, generate .env.example, etc.)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand doctor" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand doctor" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand doctor" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand doctor" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand completion" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand completion" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand completion" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand completion" -s h -l help -d 'Print help (see more with \'--help\')'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and not __fish_seen_subcommand_from serve help" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and not __fish_seen_subcommand_from serve help" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and not __fish_seen_subcommand_from serve help" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and not __fish_seen_subcommand_from serve help" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and not __fish_seen_subcommand_from serve help" -f -a "serve" -d 'Run the MCP stdio server in-process (used by AI clients like Claude Code)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and not __fish_seen_subcommand_from serve help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and __fish_seen_subcommand_from serve" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and __fish_seen_subcommand_from serve" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and __fish_seen_subcommand_from serve" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and __fish_seen_subcommand_from serve" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and __fish_seen_subcommand_from help" -f -a "serve" -d 'Run the MCP stdio server in-process (used by AI clients like Claude Code)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand mcp; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand exec" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand exec" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand exec" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand exec" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand start" -s d -l daemon -d 'Run in background (daemon mode)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand start" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand start" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand start" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand start" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand stop" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand stop" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand stop" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand stop" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand status" -l oneline -d 'Compact one-line output for shell prompts (e.g., "3 secrets · proxy off")'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand status" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand status" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand status" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand status" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand check" -l staged -d 'Only scan git-staged files (skip .env scanning, faster for pre-commit hooks)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand check" -l runtime -d 'Check if phantom tokens are in environment without proxy running'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand check" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand check" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand check" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand check" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand list" -l json -d 'Emit JSON instead of the human-readable table'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand list" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand list" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand list" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand add" -l stdin -d 'Read the secret value from stdin (for piped use: echo "$VAL" | phantom add KEY --stdin)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand add" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand add" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand add" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand add" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand remove" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand remove" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand remove" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand remove" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand reveal" -s c -l clipboard -d 'Copy to clipboard instead of printing (auto-clears after 30s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand reveal" -s y -l yes -d 'Skip confirmation (required for non-interactive use)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand reveal" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand reveal" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand reveal" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand reveal" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand copy" -l to -d 'Target project directory' -r -F
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand copy" -l rename -d 'Rename the secret in the target project' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand copy" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand copy" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand copy" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand copy" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand env" -s o -l output -d 'Output file name (defaults to .env.example)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand env" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand env" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand env" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand env" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand why" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand why" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand why" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand why" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand login" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand login" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand login" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand login" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand logout" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand logout" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand logout" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand logout" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -f -a "push" -d 'Push local secrets to Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -f -a "pull" -d 'Pull secrets from Phantom Cloud to local vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -f -a "status" -d 'Show cloud sync status'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and not __fish_seen_subcommand_from push pull status help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from push" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from push" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from push" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from push" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from pull" -l force -d 'Overwrite existing local secrets'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from pull" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from pull" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from pull" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from pull" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from status" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from status" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from status" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from status" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from help" -f -a "push" -d 'Push local secrets to Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from help" -f -a "pull" -d 'Pull secrets from Phantom Cloud to local vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from help" -f -a "status" -d 'Show cloud sync status'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand cloud; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "list" -d 'List your teams'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "create" -d 'Create a new team'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "members" -d 'List team members'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "invite" -d 'Invite a member to a team'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "key-publish" -d 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "vault-push" -d 'Push the current project\'s vault to a team (E2E encrypted to every member that has a registered public key)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "vault-pull" -d 'Pull the current project\'s team vault into your local vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and not __fish_seen_subcommand_from list create members invite key-publish vault-push vault-pull help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from list" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from list" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from list" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from create" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from create" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from create" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from create" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from members" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from members" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from members" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from members" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from invite" -l role -d 'Role to assign (member, admin, owner)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from invite" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from invite" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from invite" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from invite" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from key-publish" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from key-publish" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from key-publish" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from key-publish" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-push" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-push" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-push" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-push" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-pull" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-pull" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-pull" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from vault-pull" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "list" -d 'List your teams'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "create" -d 'Create a new team'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "members" -d 'List team members'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "invite" -d 'Invite a member to a team'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "key-publish" -d 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "vault-push" -d 'Push the current project\'s vault to a team (E2E encrypted to every member that has a registered public key)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "vault-pull" -d 'Pull the current project\'s team vault into your local vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand team; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -s p -l platform -d 'Platform to sync to (vercel, railway). Syncs all configured targets if omitted' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -l project -d 'Override project ID for this sync' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -l only -d 'Only push secrets whose names match this glob pattern (e.g. STRIPE_*). Repeatable: multiple --only flags are OR-ed together. Also honoured via `only = [...]` in each [[sync]] block in .phantom.toml' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -l dry-run -d 'Preview targets, filters, and selected secret names without decrypting values or calling platform APIs'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand sync" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -l from -d 'Platform to pull from (vercel, railway)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -l project -d 'Project ID on the platform' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -l environment -d 'Environment (Railway only, defaults to "production")' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -l service -d 'Service ID (Railway only)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -l force -d 'Overwrite existing local secrets'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand pull" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -s o -l output -d 'Output file path (encrypted mode)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -s p -l passphrase -d 'Encryption passphrase (encrypted mode)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -l json -d 'Emit secrets as a plaintext JSON object to stdout instead of an encrypted file'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -l allow-plaintext -d 'Required with --json: acknowledge that secrets will be emitted in plaintext'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand export" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -s p -l passphrase -d 'Decryption passphrase (legacy mode, required without --from)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -l from -d 'Import source: doppler | infisical | dotenvx | 1password | env' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -l file-path -d 'Path to the export file (required with --from)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -l force -d 'Overwrite existing secrets without prompting'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand import" -s h -l help -d 'Print help (see more with \'--help\')'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand wrap" -l only -d 'Only wrap specific scripts (by name)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand wrap" -l skip -d 'Skip specific scripts (by name)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand wrap" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand wrap" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand wrap" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand wrap" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand unwrap" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand unwrap" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand unwrap" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand unwrap" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand upgrade" -l force -d 'Skip confirmation prompt and upgrade immediately'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand upgrade" -l check-only -d 'Print available version without modifying the binary'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand upgrade" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand upgrade" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand upgrade" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand upgrade" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand watch" -l auto -d 'Auto-protect new secrets without prompting'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand watch" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand watch" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand watch" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand watch" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand rotate" -l sync -d 'Also sync secrets to all configured deployment platforms after rotation'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand rotate" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand rotate" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand rotate" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand rotate" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -f -a "show" -d 'Print recent audit events (default: last 50)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -f -a "tail" -d 'Follow the audit log (like tail -f)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -f -a "path" -d 'Print the absolute path to the audit log'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -f -a "verify" -d 'Verify the HMAC chain integrity of the audit log'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and not __fish_seen_subcommand_from show tail path verify help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -l last -d 'Limit output to the last N events (default 50)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -l op -d 'Filter by operation (e.g. vault.store, vault.retrieve)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -l name -d 'Filter by secret name (e.g. OPENAI_API_KEY)' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -l json -d 'Emit raw JSONL instead of pretty-printing'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from show" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from tail" -l op -d 'Filter by operation' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from tail" -l name -d 'Filter by secret name' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from tail" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from tail" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from tail" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from tail" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from path" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from path" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from path" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from path" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from verify" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from verify" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from verify" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from verify" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from help" -f -a "show" -d 'Print recent audit events (default: last 50)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from help" -f -a "tail" -d 'Follow the audit log (like tail -f)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from help" -f -a "path" -d 'Print the absolute path to the audit log'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from help" -f -a "verify" -d 'Verify the HMAC chain integrity of the audit log'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand audit; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand open" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand open" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand open" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand open" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand __clear-clipboard-after" -l secs -d 'Seconds to wait before clearing' -r
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand __clear-clipboard-after" -s v -l verbose -d 'Enable verbose/debug logging'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand __clear-clipboard-after" -s q -l quiet -d 'Suppress all output except errors'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand __clear-clipboard-after" -l json -d 'Output in JSON format (for scripting)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand __clear-clipboard-after" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "init" -d 'Import .env secrets into the vault and rewrite with phantom tokens'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "setup" -d 'Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "agent" -d 'Agent readiness report, doctor, and setup workflows'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "doctor" -d 'Check configuration and vault health'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "completion" -d 'Print a shell-completion script to stdout'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "mcp" -d 'MCP server commands (Model Context Protocol)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "exec" -d 'Start the proxy and run a command'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "start" -d 'Start the proxy server'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "stop" -d 'Stop the background proxy server'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "status" -d 'Show proxy status and mapped secrets'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "check" -d 'Check for unprotected secrets (pre-commit hook)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "list" -d 'List stored secret names (never shows values)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "add" -d 'Add a secret to the vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "remove" -d 'Remove a secret from the vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "reveal" -d 'Reveal a secret value (print to stdout or copy to clipboard)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "copy" -d 'Copy a secret from this project\'s vault to another project'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "env" -d 'Generate .env.example for team onboarding'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "why" -d 'Explain why a key is or isn\'t protected'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "login" -d 'Log in to Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "logout" -d 'Log out of Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "cloud" -d 'Cloud vault sync commands'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "team" -d 'Team vault management'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "sync" -d 'Sync secrets to deployment platforms (Vercel, Railway)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "pull" -d 'Pull secrets from a deployment platform into the vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "export" -d 'Export secrets to an encrypted backup file or as plaintext JSON to stdout'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "import" -d 'Import secrets from an encrypted backup or a competitor export'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "wrap" -d 'Wrap package.json scripts with `phantom exec` (no more manual prefix)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "unwrap" -d 'Unwrap package.json scripts (restore originals from :raw variants)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "upgrade" -d 'Self-replace this binary with the latest GitHub release'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "watch" -d 'Watch .env files and auto-detect new unprotected secrets'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "rotate" -d 'Regenerate phantom tokens (invalidates old ones)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "audit" -d 'View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "open" -d 'Open a Phantom page in the browser. Defaults to the dashboard. Aliases: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https://phm.dev/<word>; full URLs pass through'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "__clear-clipboard-after" -d 'Internal: clear the system clipboard after N seconds. Spawned by `phantom reveal --copy` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from `--help`'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and not __fish_seen_subcommand_from init setup agent doctor completion mcp exec start stop status check list add remove reveal copy env why login logout cloud team sync pull export import wrap unwrap upgrade watch rotate audit open __clear-clipboard-after help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from agent" -f -a "report" -d 'Emit the read-only readiness report'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from agent" -f -a "doctor" -d 'Human-readable view of the readiness report'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from agent" -f -a "setup" -d 'Initialize safe defaults for AI-agent use'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from mcp" -f -a "serve" -d 'Run the MCP stdio server in-process (used by AI clients like Claude Code)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from cloud" -f -a "push" -d 'Push local secrets to Phantom Cloud'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from cloud" -f -a "pull" -d 'Pull secrets from Phantom Cloud to local vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from cloud" -f -a "status" -d 'Show cloud sync status'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "list" -d 'List your teams'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "create" -d 'Create a new team'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "members" -d 'List team members'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "invite" -d 'Invite a member to a team'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "key-publish" -d 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "vault-push" -d 'Push the current project\'s vault to a team (E2E encrypted to every member that has a registered public key)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from team" -f -a "vault-pull" -d 'Pull the current project\'s team vault into your local vault'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from audit" -f -a "show" -d 'Print recent audit events (default: last 50)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from audit" -f -a "tail" -d 'Follow the audit log (like tail -f)'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from audit" -f -a "path" -d 'Print the absolute path to the audit log'
[INFO] [stdout] complete -c phantom -n "__fish_phantom_using_subcommand help; and __fish_seen_subcommand_from audit" -f -a "verify" -d 'Verify the HMAC chain integrity of the audit log'
[INFO] [stdout] 
[INFO] [stdout] using namespace System.Management.Automation
[INFO] [stdout] using namespace System.Management.Automation.Language
[INFO] [stdout] 
[INFO] [stdout] Register-ArgumentCompleter -Native -CommandName 'phantom' -ScriptBlock {
[INFO] [stdout]     param($wordToComplete, $commandAst, $cursorPosition)
[INFO] [stdout] 
[INFO] [stdout]     $commandElements = $commandAst.CommandElements
[INFO] [stdout]     $command = @(
[INFO] [stdout]         'phantom'
[INFO] [stdout]         for ($i = 1; $i -lt $commandElements.Count; $i++) {
[INFO] [stdout]             $element = $commandElements[$i]
[INFO] [stdout]             if ($element -isnot [StringConstantExpressionAst] -or
[INFO] [stdout]                 $element.StringConstantType -ne [StringConstantType]::BareWord -or
[INFO] [stdout]                 $element.Value.StartsWith('-') -or
[INFO] [stdout]                 $element.Value -eq $wordToComplete) {
[INFO] [stdout]                 break
[INFO] [stdout]         }
[INFO] [stdout]         $element.Value
[INFO] [stdout]     }) -join ';'
[INFO] [stdout] 
[INFO] [stdout]     $completions = @(switch ($command) {
[INFO] [stdout]         'phantom' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             [CompletionResult]::new('-V', '-V ', [CompletionResultType]::ParameterName, 'Print version')
[INFO] [stdout]             [CompletionResult]::new('--version', '--version', [CompletionResultType]::ParameterName, 'Print version')
[INFO] [stdout]             [CompletionResult]::new('init', 'init', [CompletionResultType]::ParameterValue, 'Import .env secrets into the vault and rewrite with phantom tokens')
[INFO] [stdout]             [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)')
[INFO] [stdout]             [CompletionResult]::new('agent', 'agent', [CompletionResultType]::ParameterValue, 'Agent readiness report, doctor, and setup workflows')
[INFO] [stdout]             [CompletionResult]::new('doctor', 'doctor', [CompletionResultType]::ParameterValue, 'Check configuration and vault health')
[INFO] [stdout]             [CompletionResult]::new('completion', 'completion', [CompletionResultType]::ParameterValue, 'Print a shell-completion script to stdout')
[INFO] [stdout]             [CompletionResult]::new('mcp', 'mcp', [CompletionResultType]::ParameterValue, 'MCP server commands (Model Context Protocol)')
[INFO] [stdout]             [CompletionResult]::new('exec', 'exec', [CompletionResultType]::ParameterValue, 'Start the proxy and run a command')
[INFO] [stdout]             [CompletionResult]::new('start', 'start', [CompletionResultType]::ParameterValue, 'Start the proxy server')
[INFO] [stdout]             [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop the background proxy server')
[INFO] [stdout]             [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show proxy status and mapped secrets')
[INFO] [stdout]             [CompletionResult]::new('check', 'check', [CompletionResultType]::ParameterValue, 'Check for unprotected secrets (pre-commit hook)')
[INFO] [stdout]             [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List stored secret names (never shows values)')
[INFO] [stdout]             [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a secret to the vault')
[INFO] [stdout]             [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a secret from the vault')
[INFO] [stdout]             [CompletionResult]::new('reveal', 'reveal', [CompletionResultType]::ParameterValue, 'Reveal a secret value (print to stdout or copy to clipboard)')
[INFO] [stdout]             [CompletionResult]::new('copy', 'copy', [CompletionResultType]::ParameterValue, 'Copy a secret from this project''s vault to another project')
[INFO] [stdout]             [CompletionResult]::new('env', 'env', [CompletionResultType]::ParameterValue, 'Generate .env.example for team onboarding')
[INFO] [stdout]             [CompletionResult]::new('why', 'why', [CompletionResultType]::ParameterValue, 'Explain why a key is or isn''t protected')
[INFO] [stdout]             [CompletionResult]::new('login', 'login', [CompletionResultType]::ParameterValue, 'Log in to Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('logout', 'logout', [CompletionResultType]::ParameterValue, 'Log out of Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('cloud', 'cloud', [CompletionResultType]::ParameterValue, 'Cloud vault sync commands')
[INFO] [stdout]             [CompletionResult]::new('team', 'team', [CompletionResultType]::ParameterValue, 'Team vault management')
[INFO] [stdout]             [CompletionResult]::new('sync', 'sync', [CompletionResultType]::ParameterValue, 'Sync secrets to deployment platforms (Vercel, Railway)')
[INFO] [stdout]             [CompletionResult]::new('pull', 'pull', [CompletionResultType]::ParameterValue, 'Pull secrets from a deployment platform into the vault')
[INFO] [stdout]             [CompletionResult]::new('export', 'export', [CompletionResultType]::ParameterValue, 'Export secrets to an encrypted backup file or as plaintext JSON to stdout')
[INFO] [stdout]             [CompletionResult]::new('import', 'import', [CompletionResultType]::ParameterValue, 'Import secrets from an encrypted backup or a competitor export')
[INFO] [stdout]             [CompletionResult]::new('wrap', 'wrap', [CompletionResultType]::ParameterValue, 'Wrap package.json scripts with `phantom exec` (no more manual prefix)')
[INFO] [stdout]             [CompletionResult]::new('unwrap', 'unwrap', [CompletionResultType]::ParameterValue, 'Unwrap package.json scripts (restore originals from :raw variants)')
[INFO] [stdout]             [CompletionResult]::new('upgrade', 'upgrade', [CompletionResultType]::ParameterValue, 'Self-replace this binary with the latest GitHub release')
[INFO] [stdout]             [CompletionResult]::new('watch', 'watch', [CompletionResultType]::ParameterValue, 'Watch .env files and auto-detect new unprotected secrets')
[INFO] [stdout]             [CompletionResult]::new('rotate', 'rotate', [CompletionResultType]::ParameterValue, 'Regenerate phantom tokens (invalidates old ones)')
[INFO] [stdout]             [CompletionResult]::new('audit', 'audit', [CompletionResultType]::ParameterValue, 'View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)')
[INFO] [stdout]             [CompletionResult]::new('open', 'open', [CompletionResultType]::ParameterValue, 'Open a Phantom page in the browser. Defaults to the dashboard. Aliases: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https://phm.dev/<word>; full URLs pass through')
[INFO] [stdout]             [CompletionResult]::new('__clear-clipboard-after', '__clear-clipboard-after', [CompletionResultType]::ParameterValue, 'Internal: clear the system clipboard after N seconds. Spawned by `phantom reveal --copy` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from `--help`')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;init' {
[INFO] [stdout]             [CompletionResult]::new('-f', '-f', [CompletionResultType]::ParameterName, 'Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories')
[INFO] [stdout]             [CompletionResult]::new('--from', '--from', [CompletionResultType]::ParameterName, 'Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories')
[INFO] [stdout]             [CompletionResult]::new('--all', '--all', [CompletionResultType]::ParameterName, 'Protect every git repo with a .env under <DIR> in one go. Skips repos that already have .phantom.toml')
[INFO] [stdout]             [CompletionResult]::new('-j', '-j', [CompletionResultType]::ParameterName, 'With --all: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4')
[INFO] [stdout]             [CompletionResult]::new('--jobs', '--jobs', [CompletionResultType]::ParameterName, 'With --all: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4')
[INFO] [stdout]             [CompletionResult]::new('--dry-run', '--dry-run', [CompletionResultType]::ParameterName, 'With --all: scan and report what would change without modifying anything')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;setup' {
[INFO] [stdout]             [CompletionResult]::new('-c', '-c', [CompletionResultType]::ParameterName, 'AI client to configure. Defaults to Claude Code if omitted')
[INFO] [stdout]             [CompletionResult]::new('--client', '--client', [CompletionResultType]::ParameterName, 'AI client to configure. Defaults to Claude Code if omitted')
[INFO] [stdout]             [CompletionResult]::new('--print', '--print', [CompletionResultType]::ParameterName, 'Print the config snippet to stdout instead of writing files')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('report', 'report', [CompletionResultType]::ParameterValue, 'Emit the read-only readiness report')
[INFO] [stdout]             [CompletionResult]::new('doctor', 'doctor', [CompletionResultType]::ParameterValue, 'Human-readable view of the readiness report')
[INFO] [stdout]             [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Initialize safe defaults for AI-agent use')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;report' {
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Emit stable JSON')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;doctor' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;setup' {
[INFO] [stdout]             [CompletionResult]::new('--dry-run', '--dry-run', [CompletionResultType]::ParameterName, 'Show planned actions without changing files')
[INFO] [stdout]             [CompletionResult]::new('--apply', '--apply', [CompletionResultType]::ParameterName, 'Apply setup actions')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;help' {
[INFO] [stdout]             [CompletionResult]::new('report', 'report', [CompletionResultType]::ParameterValue, 'Emit the read-only readiness report')
[INFO] [stdout]             [CompletionResult]::new('doctor', 'doctor', [CompletionResultType]::ParameterValue, 'Human-readable view of the readiness report')
[INFO] [stdout]             [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Initialize safe defaults for AI-agent use')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;help;report' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;help;doctor' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;help;setup' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;agent;help;help' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;doctor' {
[INFO] [stdout]             [CompletionResult]::new('--fix', '--fix', [CompletionResultType]::ParameterName, 'Auto-fix safe issues (install hooks, generate .env.example, etc.)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;completion' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;mcp' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Run the MCP stdio server in-process (used by AI clients like Claude Code)')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;mcp;serve' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;mcp;help' {
[INFO] [stdout]             [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Run the MCP stdio server in-process (used by AI clients like Claude Code)')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;mcp;help;serve' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;mcp;help;help' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;exec' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;start' {
[INFO] [stdout]             [CompletionResult]::new('-d', '-d', [CompletionResultType]::ParameterName, 'Run in background (daemon mode)')
[INFO] [stdout]             [CompletionResult]::new('--daemon', '--daemon', [CompletionResultType]::ParameterName, 'Run in background (daemon mode)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;stop' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;status' {
[INFO] [stdout]             [CompletionResult]::new('--oneline', '--oneline', [CompletionResultType]::ParameterName, 'Compact one-line output for shell prompts (e.g., "3 secrets · proxy off")')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;check' {
[INFO] [stdout]             [CompletionResult]::new('--staged', '--staged', [CompletionResultType]::ParameterName, 'Only scan git-staged files (skip .env scanning, faster for pre-commit hooks)')
[INFO] [stdout]             [CompletionResult]::new('--runtime', '--runtime', [CompletionResultType]::ParameterName, 'Check if phantom tokens are in environment without proxy running')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;list' {
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Emit JSON instead of the human-readable table')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;add' {
[INFO] [stdout]             [CompletionResult]::new('--stdin', '--stdin', [CompletionResultType]::ParameterName, 'Read the secret value from stdin (for piped use: echo "$VAL" | phantom add KEY --stdin)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;remove' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;reveal' {
[INFO] [stdout]             [CompletionResult]::new('-c', '-c', [CompletionResultType]::ParameterName, 'Copy to clipboard instead of printing (auto-clears after 30s)')
[INFO] [stdout]             [CompletionResult]::new('--clipboard', '--clipboard', [CompletionResultType]::ParameterName, 'Copy to clipboard instead of printing (auto-clears after 30s)')
[INFO] [stdout]             [CompletionResult]::new('-y', '-y', [CompletionResultType]::ParameterName, 'Skip confirmation (required for non-interactive use)')
[INFO] [stdout]             [CompletionResult]::new('--yes', '--yes', [CompletionResultType]::ParameterName, 'Skip confirmation (required for non-interactive use)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;copy' {
[INFO] [stdout]             [CompletionResult]::new('--to', '--to', [CompletionResultType]::ParameterName, 'Target project directory')
[INFO] [stdout]             [CompletionResult]::new('--rename', '--rename', [CompletionResultType]::ParameterName, 'Rename the secret in the target project')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;env' {
[INFO] [stdout]             [CompletionResult]::new('-o', '-o', [CompletionResultType]::ParameterName, 'Output file name (defaults to .env.example)')
[INFO] [stdout]             [CompletionResult]::new('--output', '--output', [CompletionResultType]::ParameterName, 'Output file name (defaults to .env.example)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;why' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;login' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;logout' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('push', 'push', [CompletionResultType]::ParameterValue, 'Push local secrets to Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('pull', 'pull', [CompletionResultType]::ParameterValue, 'Pull secrets from Phantom Cloud to local vault')
[INFO] [stdout]             [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show cloud sync status')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;push' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;pull' {
[INFO] [stdout]             [CompletionResult]::new('--force', '--force', [CompletionResultType]::ParameterName, 'Overwrite existing local secrets')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;status' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;help' {
[INFO] [stdout]             [CompletionResult]::new('push', 'push', [CompletionResultType]::ParameterValue, 'Push local secrets to Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('pull', 'pull', [CompletionResultType]::ParameterValue, 'Pull secrets from Phantom Cloud to local vault')
[INFO] [stdout]             [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show cloud sync status')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;help;push' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;help;pull' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;help;status' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;cloud;help;help' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List your teams')
[INFO] [stdout]             [CompletionResult]::new('create', 'create', [CompletionResultType]::ParameterValue, 'Create a new team')
[INFO] [stdout]             [CompletionResult]::new('members', 'members', [CompletionResultType]::ParameterValue, 'List team members')
[INFO] [stdout]             [CompletionResult]::new('invite', 'invite', [CompletionResultType]::ParameterValue, 'Invite a member to a team')
[INFO] [stdout]             [CompletionResult]::new('key-publish', 'key-publish', [CompletionResultType]::ParameterValue, 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults')
[INFO] [stdout]             [CompletionResult]::new('vault-push', 'vault-push', [CompletionResultType]::ParameterValue, 'Push the current project''s vault to a team (E2E encrypted to every member that has a registered public key)')
[INFO] [stdout]             [CompletionResult]::new('vault-pull', 'vault-pull', [CompletionResultType]::ParameterValue, 'Pull the current project''s team vault into your local vault')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;list' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;create' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;members' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;invite' {
[INFO] [stdout]             [CompletionResult]::new('--role', '--role', [CompletionResultType]::ParameterName, 'Role to assign (member, admin, owner)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;key-publish' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;vault-push' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;vault-pull' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help' {
[INFO] [stdout]             [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List your teams')
[INFO] [stdout]             [CompletionResult]::new('create', 'create', [CompletionResultType]::ParameterValue, 'Create a new team')
[INFO] [stdout]             [CompletionResult]::new('members', 'members', [CompletionResultType]::ParameterValue, 'List team members')
[INFO] [stdout]             [CompletionResult]::new('invite', 'invite', [CompletionResultType]::ParameterValue, 'Invite a member to a team')
[INFO] [stdout]             [CompletionResult]::new('key-publish', 'key-publish', [CompletionResultType]::ParameterValue, 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults')
[INFO] [stdout]             [CompletionResult]::new('vault-push', 'vault-push', [CompletionResultType]::ParameterValue, 'Push the current project''s vault to a team (E2E encrypted to every member that has a registered public key)')
[INFO] [stdout]             [CompletionResult]::new('vault-pull', 'vault-pull', [CompletionResultType]::ParameterValue, 'Pull the current project''s team vault into your local vault')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;list' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;create' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;members' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;invite' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;key-publish' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;vault-push' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;vault-pull' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;team;help;help' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;sync' {
[INFO] [stdout]             [CompletionResult]::new('-p', '-p', [CompletionResultType]::ParameterName, 'Platform to sync to (vercel, railway). Syncs all configured targets if omitted')
[INFO] [stdout]             [CompletionResult]::new('--platform', '--platform', [CompletionResultType]::ParameterName, 'Platform to sync to (vercel, railway). Syncs all configured targets if omitted')
[INFO] [stdout]             [CompletionResult]::new('--project', '--project', [CompletionResultType]::ParameterName, 'Override project ID for this sync')
[INFO] [stdout]             [CompletionResult]::new('--only', '--only', [CompletionResultType]::ParameterName, 'Only push secrets whose names match this glob pattern (e.g. STRIPE_*). Repeatable: multiple --only flags are OR-ed together. Also honoured via `only = [...]` in each [[sync]] block in .phantom.toml')
[INFO] [stdout]             [CompletionResult]::new('--dry-run', '--dry-run', [CompletionResultType]::ParameterName, 'Preview targets, filters, and selected secret names without decrypting values or calling platform APIs')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;pull' {
[INFO] [stdout]             [CompletionResult]::new('--from', '--from', [CompletionResultType]::ParameterName, 'Platform to pull from (vercel, railway)')
[INFO] [stdout]             [CompletionResult]::new('--project', '--project', [CompletionResultType]::ParameterName, 'Project ID on the platform')
[INFO] [stdout]             [CompletionResult]::new('--environment', '--environment', [CompletionResultType]::ParameterName, 'Environment (Railway only, defaults to "production")')
[INFO] [stdout]             [CompletionResult]::new('--service', '--service', [CompletionResultType]::ParameterName, 'Service ID (Railway only)')
[INFO] [stdout]             [CompletionResult]::new('--force', '--force', [CompletionResultType]::ParameterName, 'Overwrite existing local secrets')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;export' {
[INFO] [stdout]             [CompletionResult]::new('-o', '-o', [CompletionResultType]::ParameterName, 'Output file path (encrypted mode)')
[INFO] [stdout]             [CompletionResult]::new('--output', '--output', [CompletionResultType]::ParameterName, 'Output file path (encrypted mode)')
[INFO] [stdout]             [CompletionResult]::new('-p', '-p', [CompletionResultType]::ParameterName, 'Encryption passphrase (encrypted mode)')
[INFO] [stdout]             [CompletionResult]::new('--passphrase', '--passphrase', [CompletionResultType]::ParameterName, 'Encryption passphrase (encrypted mode)')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Emit secrets as a plaintext JSON object to stdout instead of an encrypted file')
[INFO] [stdout]             [CompletionResult]::new('--allow-plaintext', '--allow-plaintext', [CompletionResultType]::ParameterName, 'Required with --json: acknowledge that secrets will be emitted in plaintext')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;import' {
[INFO] [stdout]             [CompletionResult]::new('-p', '-p', [CompletionResultType]::ParameterName, 'Decryption passphrase (legacy mode, required without --from)')
[INFO] [stdout]             [CompletionResult]::new('--passphrase', '--passphrase', [CompletionResultType]::ParameterName, 'Decryption passphrase (legacy mode, required without --from)')
[INFO] [stdout]             [CompletionResult]::new('--from', '--from', [CompletionResultType]::ParameterName, 'Import source: doppler | infisical | dotenvx | 1password | env')
[INFO] [stdout]             [CompletionResult]::new('--file-path', '--file-path', [CompletionResultType]::ParameterName, 'Path to the export file (required with --from)')
[INFO] [stdout]             [CompletionResult]::new('--force', '--force', [CompletionResultType]::ParameterName, 'Overwrite existing secrets without prompting')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;wrap' {
[INFO] [stdout]             [CompletionResult]::new('--only', '--only', [CompletionResultType]::ParameterName, 'Only wrap specific scripts (by name)')
[INFO] [stdout]             [CompletionResult]::new('--skip', '--skip', [CompletionResultType]::ParameterName, 'Skip specific scripts (by name)')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;unwrap' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;upgrade' {
[INFO] [stdout]             [CompletionResult]::new('--force', '--force', [CompletionResultType]::ParameterName, 'Skip confirmation prompt and upgrade immediately')
[INFO] [stdout]             [CompletionResult]::new('--check-only', '--check-only', [CompletionResultType]::ParameterName, 'Print available version without modifying the binary')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;watch' {
[INFO] [stdout]             [CompletionResult]::new('--auto', '--auto', [CompletionResultType]::ParameterName, 'Auto-protect new secrets without prompting')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;rotate' {
[INFO] [stdout]             [CompletionResult]::new('--sync', '--sync', [CompletionResultType]::ParameterName, 'Also sync secrets to all configured deployment platforms after rotation')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Print recent audit events (default: last 50)')
[INFO] [stdout]             [CompletionResult]::new('tail', 'tail', [CompletionResultType]::ParameterValue, 'Follow the audit log (like tail -f)')
[INFO] [stdout]             [CompletionResult]::new('path', 'path', [CompletionResultType]::ParameterValue, 'Print the absolute path to the audit log')
[INFO] [stdout]             [CompletionResult]::new('verify', 'verify', [CompletionResultType]::ParameterValue, 'Verify the HMAC chain integrity of the audit log')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;show' {
[INFO] [stdout]             [CompletionResult]::new('--last', '--last', [CompletionResultType]::ParameterName, 'Limit output to the last N events (default 50)')
[INFO] [stdout]             [CompletionResult]::new('--op', '--op', [CompletionResultType]::ParameterName, 'Filter by operation (e.g. vault.store, vault.retrieve)')
[INFO] [stdout]             [CompletionResult]::new('--name', '--name', [CompletionResultType]::ParameterName, 'Filter by secret name (e.g. OPENAI_API_KEY)')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Emit raw JSONL instead of pretty-printing')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;tail' {
[INFO] [stdout]             [CompletionResult]::new('--op', '--op', [CompletionResultType]::ParameterName, 'Filter by operation')
[INFO] [stdout]             [CompletionResult]::new('--name', '--name', [CompletionResultType]::ParameterName, 'Filter by secret name')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;path' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;verify' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;help' {
[INFO] [stdout]             [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Print recent audit events (default: last 50)')
[INFO] [stdout]             [CompletionResult]::new('tail', 'tail', [CompletionResultType]::ParameterValue, 'Follow the audit log (like tail -f)')
[INFO] [stdout]             [CompletionResult]::new('path', 'path', [CompletionResultType]::ParameterValue, 'Print the absolute path to the audit log')
[INFO] [stdout]             [CompletionResult]::new('verify', 'verify', [CompletionResultType]::ParameterValue, 'Verify the HMAC chain integrity of the audit log')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;help;show' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;help;tail' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;help;path' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;help;verify' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;audit;help;help' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;open' {
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;__clear-clipboard-after' {
[INFO] [stdout]             [CompletionResult]::new('--secs', '--secs', [CompletionResultType]::ParameterName, 'Seconds to wait before clearing')
[INFO] [stdout]             [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose/debug logging')
[INFO] [stdout]             [CompletionResult]::new('-q', '-q', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--quiet', '--quiet', [CompletionResultType]::ParameterName, 'Suppress all output except errors')
[INFO] [stdout]             [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Output in JSON format (for scripting)')
[INFO] [stdout]             [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help' {
[INFO] [stdout]             [CompletionResult]::new('init', 'init', [CompletionResultType]::ParameterValue, 'Import .env secrets into the vault and rewrite with phantom tokens')
[INFO] [stdout]             [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)')
[INFO] [stdout]             [CompletionResult]::new('agent', 'agent', [CompletionResultType]::ParameterValue, 'Agent readiness report, doctor, and setup workflows')
[INFO] [stdout]             [CompletionResult]::new('doctor', 'doctor', [CompletionResultType]::ParameterValue, 'Check configuration and vault health')
[INFO] [stdout]             [CompletionResult]::new('completion', 'completion', [CompletionResultType]::ParameterValue, 'Print a shell-completion script to stdout')
[INFO] [stdout]             [CompletionResult]::new('mcp', 'mcp', [CompletionResultType]::ParameterValue, 'MCP server commands (Model Context Protocol)')
[INFO] [stdout]             [CompletionResult]::new('exec', 'exec', [CompletionResultType]::ParameterValue, 'Start the proxy and run a command')
[INFO] [stdout]             [CompletionResult]::new('start', 'start', [CompletionResultType]::ParameterValue, 'Start the proxy server')
[INFO] [stdout]             [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop the background proxy server')
[INFO] [stdout]             [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show proxy status and mapped secrets')
[INFO] [stdout]             [CompletionResult]::new('check', 'check', [CompletionResultType]::ParameterValue, 'Check for unprotected secrets (pre-commit hook)')
[INFO] [stdout]             [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List stored secret names (never shows values)')
[INFO] [stdout]             [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a secret to the vault')
[INFO] [stdout]             [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a secret from the vault')
[INFO] [stdout]             [CompletionResult]::new('reveal', 'reveal', [CompletionResultType]::ParameterValue, 'Reveal a secret value (print to stdout or copy to clipboard)')
[INFO] [stdout]             [CompletionResult]::new('copy', 'copy', [CompletionResultType]::ParameterValue, 'Copy a secret from this project''s vault to another project')
[INFO] [stdout]             [CompletionResult]::new('env', 'env', [CompletionResultType]::ParameterValue, 'Generate .env.example for team onboarding')
[INFO] [stdout]             [CompletionResult]::new('why', 'why', [CompletionResultType]::ParameterValue, 'Explain why a key is or isn''t protected')
[INFO] [stdout]             [CompletionResult]::new('login', 'login', [CompletionResultType]::ParameterValue, 'Log in to Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('logout', 'logout', [CompletionResultType]::ParameterValue, 'Log out of Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('cloud', 'cloud', [CompletionResultType]::ParameterValue, 'Cloud vault sync commands')
[INFO] [stdout]             [CompletionResult]::new('team', 'team', [CompletionResultType]::ParameterValue, 'Team vault management')
[INFO] [stdout]             [CompletionResult]::new('sync', 'sync', [CompletionResultType]::ParameterValue, 'Sync secrets to deployment platforms (Vercel, Railway)')
[INFO] [stdout]             [CompletionResult]::new('pull', 'pull', [CompletionResultType]::ParameterValue, 'Pull secrets from a deployment platform into the vault')
[INFO] [stdout]             [CompletionResult]::new('export', 'export', [CompletionResultType]::ParameterValue, 'Export secrets to an encrypted backup file or as plaintext JSON to stdout')
[INFO] [stdout]             [CompletionResult]::new('import', 'import', [CompletionResultType]::ParameterValue, 'Import secrets from an encrypted backup or a competitor export')
[INFO] [stdout]             [CompletionResult]::new('wrap', 'wrap', [CompletionResultType]::ParameterValue, 'Wrap package.json scripts with `phantom exec` (no more manual prefix)')
[INFO] [stdout]             [CompletionResult]::new('unwrap', 'unwrap', [CompletionResultType]::ParameterValue, 'Unwrap package.json scripts (restore originals from :raw variants)')
[INFO] [stdout]             [CompletionResult]::new('upgrade', 'upgrade', [CompletionResultType]::ParameterValue, 'Self-replace this binary with the latest GitHub release')
[INFO] [stdout]             [CompletionResult]::new('watch', 'watch', [CompletionResultType]::ParameterValue, 'Watch .env files and auto-detect new unprotected secrets')
[INFO] [stdout]             [CompletionResult]::new('rotate', 'rotate', [CompletionResultType]::ParameterValue, 'Regenerate phantom tokens (invalidates old ones)')
[INFO] [stdout]             [CompletionResult]::new('audit', 'audit', [CompletionResultType]::ParameterValue, 'View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)')
[INFO] [stdout]             [CompletionResult]::new('open', 'open', [CompletionResultType]::ParameterValue, 'Open a Phantom page in the browser. Defaults to the dashboard. Aliases: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https://phm.dev/<word>; full URLs pass through')
[INFO] [stdout]             [CompletionResult]::new('__clear-clipboard-after', '__clear-clipboard-after', [CompletionResultType]::ParameterValue, 'Internal: clear the system clipboard after N seconds. Spawned by `phantom reveal --copy` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from `--help`')
[INFO] [stdout]             [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;init' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;setup' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;agent' {
[INFO] [stdout]             [CompletionResult]::new('report', 'report', [CompletionResultType]::ParameterValue, 'Emit the read-only readiness report')
[INFO] [stdout]             [CompletionResult]::new('doctor', 'doctor', [CompletionResultType]::ParameterValue, 'Human-readable view of the readiness report')
[INFO] [stdout]             [CompletionResult]::new('setup', 'setup', [CompletionResultType]::ParameterValue, 'Initialize safe defaults for AI-agent use')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;agent;report' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;agent;doctor' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;agent;setup' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;doctor' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;completion' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;mcp' {
[INFO] [stdout]             [CompletionResult]::new('serve', 'serve', [CompletionResultType]::ParameterValue, 'Run the MCP stdio server in-process (used by AI clients like Claude Code)')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;mcp;serve' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;exec' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;start' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;stop' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;status' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;check' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;list' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;add' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;remove' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;reveal' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;copy' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;env' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;why' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;login' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;logout' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;cloud' {
[INFO] [stdout]             [CompletionResult]::new('push', 'push', [CompletionResultType]::ParameterValue, 'Push local secrets to Phantom Cloud')
[INFO] [stdout]             [CompletionResult]::new('pull', 'pull', [CompletionResultType]::ParameterValue, 'Pull secrets from Phantom Cloud to local vault')
[INFO] [stdout]             [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Show cloud sync status')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;cloud;push' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;cloud;pull' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;cloud;status' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team' {
[INFO] [stdout]             [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List your teams')
[INFO] [stdout]             [CompletionResult]::new('create', 'create', [CompletionResultType]::ParameterValue, 'Create a new team')
[INFO] [stdout]             [CompletionResult]::new('members', 'members', [CompletionResultType]::ParameterValue, 'List team members')
[INFO] [stdout]             [CompletionResult]::new('invite', 'invite', [CompletionResultType]::ParameterValue, 'Invite a member to a team')
[INFO] [stdout]             [CompletionResult]::new('key-publish', 'key-publish', [CompletionResultType]::ParameterValue, 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults')
[INFO] [stdout]             [CompletionResult]::new('vault-push', 'vault-push', [CompletionResultType]::ParameterValue, 'Push the current project''s vault to a team (E2E encrypted to every member that has a registered public key)')
[INFO] [stdout]             [CompletionResult]::new('vault-pull', 'vault-pull', [CompletionResultType]::ParameterValue, 'Pull the current project''s team vault into your local vault')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;list' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;create' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;members' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;invite' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;key-publish' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;vault-push' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;team;vault-pull' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;sync' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;pull' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;export' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;import' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;wrap' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;unwrap' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;upgrade' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;watch' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;rotate' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;audit' {
[INFO] [stdout]             [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Print recent audit events (default: last 50)')
[INFO] [stdout]             [CompletionResult]::new('tail', 'tail', [CompletionResultType]::ParameterValue, 'Follow the audit log (like tail -f)')
[INFO] [stdout]             [CompletionResult]::new('path', 'path', [CompletionResultType]::ParameterValue, 'Print the absolute path to the audit log')
[INFO] [stdout]             [CompletionResult]::new('verify', 'verify', [CompletionResultType]::ParameterValue, 'Verify the HMAC chain integrity of the audit log')
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;audit;show' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;audit;tail' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;audit;path' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;audit;verify' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;open' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;__clear-clipboard-after' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         'phantom;help;help' {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]     })
[INFO] [stdout] 
[INFO] [stdout]     $completions.Where{ $_.CompletionText -like "$wordToComplete*" } |
[INFO] [stdout]         Sort-Object -Property ListItemText
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] use builtin;
[INFO] [stdout] use str;
[INFO] [stdout] 
[INFO] [stdout] set edit:completion:arg-completer[phantom] = {|@words|
[INFO] [stdout]     fn spaces {|n|
[INFO] [stdout]         builtin:repeat $n ' ' | str:join ''
[INFO] [stdout]     }
[INFO] [stdout]     fn cand {|text desc|
[INFO] [stdout]         edit:complex-candidate $text &display=$text' '(spaces (- 14 (wcswidth $text)))$desc
[INFO] [stdout]     }
[INFO] [stdout]     var command = 'phantom'
[INFO] [stdout]     for word $words[1..-1] {
[INFO] [stdout]         if (str:has-prefix $word '-') {
[INFO] [stdout]             break
[INFO] [stdout]         }
[INFO] [stdout]         set command = $command';'$word
[INFO] [stdout]     }
[INFO] [stdout]     var completions = [
[INFO] [stdout]         &'phantom'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help (see more with ''--help'')'
[INFO] [stdout]             cand --help 'Print help (see more with ''--help'')'
[INFO] [stdout]             cand -V 'Print version'
[INFO] [stdout]             cand --version 'Print version'
[INFO] [stdout]             cand init 'Import .env secrets into the vault and rewrite with phantom tokens'
[INFO] [stdout]             cand setup 'Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)'
[INFO] [stdout]             cand agent 'Agent readiness report, doctor, and setup workflows'
[INFO] [stdout]             cand doctor 'Check configuration and vault health'
[INFO] [stdout]             cand completion 'Print a shell-completion script to stdout'
[INFO] [stdout]             cand mcp 'MCP server commands (Model Context Protocol)'
[INFO] [stdout]             cand exec 'Start the proxy and run a command'
[INFO] [stdout]             cand start 'Start the proxy server'
[INFO] [stdout]             cand stop 'Stop the background proxy server'
[INFO] [stdout]             cand status 'Show proxy status and mapped secrets'
[INFO] [stdout]             cand check 'Check for unprotected secrets (pre-commit hook)'
[INFO] [stdout]             cand list 'List stored secret names (never shows values)'
[INFO] [stdout]             cand add 'Add a secret to the vault'
[INFO] [stdout]             cand remove 'Remove a secret from the vault'
[INFO] [stdout]             cand reveal 'Reveal a secret value (print to stdout or copy to clipboard)'
[INFO] [stdout]             cand copy 'Copy a secret from this project''s vault to another project'
[INFO] [stdout]             cand env 'Generate .env.example for team onboarding'
[INFO] [stdout]             cand why 'Explain why a key is or isn''t protected'
[INFO] [stdout]             cand login 'Log in to Phantom Cloud'
[INFO] [stdout]             cand logout 'Log out of Phantom Cloud'
[INFO] [stdout]             cand cloud 'Cloud vault sync commands'
[INFO] [stdout]             cand team 'Team vault management'
[INFO] [stdout]             cand sync 'Sync secrets to deployment platforms (Vercel, Railway)'
[INFO] [stdout]             cand pull 'Pull secrets from a deployment platform into the vault'
[INFO] [stdout]             cand export 'Export secrets to an encrypted backup file or as plaintext JSON to stdout'
[INFO] [stdout]             cand import 'Import secrets from an encrypted backup or a competitor export'
[INFO] [stdout]             cand wrap 'Wrap package.json scripts with `phantom exec` (no more manual prefix)'
[INFO] [stdout]             cand unwrap 'Unwrap package.json scripts (restore originals from :raw variants)'
[INFO] [stdout]             cand upgrade 'Self-replace this binary with the latest GitHub release'
[INFO] [stdout]             cand watch 'Watch .env files and auto-detect new unprotected secrets'
[INFO] [stdout]             cand rotate 'Regenerate phantom tokens (invalidates old ones)'
[INFO] [stdout]             cand audit 'View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)'
[INFO] [stdout]             cand open 'Open a Phantom page in the browser. Defaults to the dashboard. Aliases: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https://phm.dev/<word>; full URLs pass through'
[INFO] [stdout]             cand __clear-clipboard-after 'Internal: clear the system clipboard after N seconds. Spawned by `phantom reveal --copy` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from `--help`'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;init'= {
[INFO] [stdout]             cand -f 'Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories'
[INFO] [stdout]             cand --from 'Path to .env file. Auto-detects .env, .env.local, .env.development and searches subdirectories'
[INFO] [stdout]             cand --all 'Protect every git repo with a .env under <DIR> in one go. Skips repos that already have .phantom.toml'
[INFO] [stdout]             cand -j 'With --all: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4'
[INFO] [stdout]             cand --jobs 'With --all: number of repos to initialise concurrently. Defaults to PHANTOM_INIT_JOBS env var, then 4'
[INFO] [stdout]             cand --dry-run 'With --all: scan and report what would change without modifying anything'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;setup'= {
[INFO] [stdout]             cand -c 'AI client to configure. Defaults to Claude Code if omitted'
[INFO] [stdout]             cand --client 'AI client to configure. Defaults to Claude Code if omitted'
[INFO] [stdout]             cand --print 'Print the config snippet to stdout instead of writing files'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help (see more with ''--help'')'
[INFO] [stdout]             cand --help 'Print help (see more with ''--help'')'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]             cand report 'Emit the read-only readiness report'
[INFO] [stdout]             cand doctor 'Human-readable view of the readiness report'
[INFO] [stdout]             cand setup 'Initialize safe defaults for AI-agent use'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;report'= {
[INFO] [stdout]             cand --json 'Emit stable JSON'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;doctor'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;setup'= {
[INFO] [stdout]             cand --dry-run 'Show planned actions without changing files'
[INFO] [stdout]             cand --apply 'Apply setup actions'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;help'= {
[INFO] [stdout]             cand report 'Emit the read-only readiness report'
[INFO] [stdout]             cand doctor 'Human-readable view of the readiness report'
[INFO] [stdout]             cand setup 'Initialize safe defaults for AI-agent use'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;help;report'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;help;doctor'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;help;setup'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;agent;help;help'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;doctor'= {
[INFO] [stdout]             cand --fix 'Auto-fix safe issues (install hooks, generate .env.example, etc.)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;completion'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help (see more with ''--help'')'
[INFO] [stdout]             cand --help 'Print help (see more with ''--help'')'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;mcp'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]             cand serve 'Run the MCP stdio server in-process (used by AI clients like Claude Code)'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;mcp;serve'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;mcp;help'= {
[INFO] [stdout]             cand serve 'Run the MCP stdio server in-process (used by AI clients like Claude Code)'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;mcp;help;serve'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;mcp;help;help'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;exec'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;start'= {
[INFO] [stdout]             cand -d 'Run in background (daemon mode)'
[INFO] [stdout]             cand --daemon 'Run in background (daemon mode)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;stop'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;status'= {
[INFO] [stdout]             cand --oneline 'Compact one-line output for shell prompts (e.g., "3 secrets · proxy off")'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;check'= {
[INFO] [stdout]             cand --staged 'Only scan git-staged files (skip .env scanning, faster for pre-commit hooks)'
[INFO] [stdout]             cand --runtime 'Check if phantom tokens are in environment without proxy running'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;list'= {
[INFO] [stdout]             cand --json 'Emit JSON instead of the human-readable table'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;add'= {
[INFO] [stdout]             cand --stdin 'Read the secret value from stdin (for piped use: echo "$VAL" | phantom add KEY --stdin)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;remove'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;reveal'= {
[INFO] [stdout]             cand -c 'Copy to clipboard instead of printing (auto-clears after 30s)'
[INFO] [stdout]             cand --clipboard 'Copy to clipboard instead of printing (auto-clears after 30s)'
[INFO] [stdout]             cand -y 'Skip confirmation (required for non-interactive use)'
[INFO] [stdout]             cand --yes 'Skip confirmation (required for non-interactive use)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;copy'= {
[INFO] [stdout]             cand --to 'Target project directory'
[INFO] [stdout]             cand --rename 'Rename the secret in the target project'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;env'= {
[INFO] [stdout]             cand -o 'Output file name (defaults to .env.example)'
[INFO] [stdout]             cand --output 'Output file name (defaults to .env.example)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;why'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;login'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;logout'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]             cand push 'Push local secrets to Phantom Cloud'
[INFO] [stdout]             cand pull 'Pull secrets from Phantom Cloud to local vault'
[INFO] [stdout]             cand status 'Show cloud sync status'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;push'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;pull'= {
[INFO] [stdout]             cand --force 'Overwrite existing local secrets'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;status'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;help'= {
[INFO] [stdout]             cand push 'Push local secrets to Phantom Cloud'
[INFO] [stdout]             cand pull 'Pull secrets from Phantom Cloud to local vault'
[INFO] [stdout]             cand status 'Show cloud sync status'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;help;push'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;help;pull'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;help;status'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;cloud;help;help'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]             cand list 'List your teams'
[INFO] [stdout]             cand create 'Create a new team'
[INFO] [stdout]             cand members 'List team members'
[INFO] [stdout]             cand invite 'Invite a member to a team'
[INFO] [stdout]             cand key-publish 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults'
[INFO] [stdout]             cand vault-push 'Push the current project''s vault to a team (E2E encrypted to every member that has a registered public key)'
[INFO] [stdout]             cand vault-pull 'Pull the current project''s team vault into your local vault'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;list'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;create'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;members'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;invite'= {
[INFO] [stdout]             cand --role 'Role to assign (member, admin, owner)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;key-publish'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;vault-push'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;vault-pull'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help'= {
[INFO] [stdout]             cand list 'List your teams'
[INFO] [stdout]             cand create 'Create a new team'
[INFO] [stdout]             cand members 'List team members'
[INFO] [stdout]             cand invite 'Invite a member to a team'
[INFO] [stdout]             cand key-publish 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults'
[INFO] [stdout]             cand vault-push 'Push the current project''s vault to a team (E2E encrypted to every member that has a registered public key)'
[INFO] [stdout]             cand vault-pull 'Pull the current project''s team vault into your local vault'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;list'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;create'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;members'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;invite'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;key-publish'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;vault-push'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;vault-pull'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;team;help;help'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;sync'= {
[INFO] [stdout]             cand -p 'Platform to sync to (vercel, railway). Syncs all configured targets if omitted'
[INFO] [stdout]             cand --platform 'Platform to sync to (vercel, railway). Syncs all configured targets if omitted'
[INFO] [stdout]             cand --project 'Override project ID for this sync'
[INFO] [stdout]             cand --only 'Only push secrets whose names match this glob pattern (e.g. STRIPE_*). Repeatable: multiple --only flags are OR-ed together. Also honoured via `only = [...]` in each [[sync]] block in .phantom.toml'
[INFO] [stdout]             cand --dry-run 'Preview targets, filters, and selected secret names without decrypting values or calling platform APIs'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;pull'= {
[INFO] [stdout]             cand --from 'Platform to pull from (vercel, railway)'
[INFO] [stdout]             cand --project 'Project ID on the platform'
[INFO] [stdout]             cand --environment 'Environment (Railway only, defaults to "production")'
[INFO] [stdout]             cand --service 'Service ID (Railway only)'
[INFO] [stdout]             cand --force 'Overwrite existing local secrets'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;export'= {
[INFO] [stdout]             cand -o 'Output file path (encrypted mode)'
[INFO] [stdout]             cand --output 'Output file path (encrypted mode)'
[INFO] [stdout]             cand -p 'Encryption passphrase (encrypted mode)'
[INFO] [stdout]             cand --passphrase 'Encryption passphrase (encrypted mode)'
[INFO] [stdout]             cand --json 'Emit secrets as a plaintext JSON object to stdout instead of an encrypted file'
[INFO] [stdout]             cand --allow-plaintext 'Required with --json: acknowledge that secrets will be emitted in plaintext'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;import'= {
[INFO] [stdout]             cand -p 'Decryption passphrase (legacy mode, required without --from)'
[INFO] [stdout]             cand --passphrase 'Decryption passphrase (legacy mode, required without --from)'
[INFO] [stdout]             cand --from 'Import source: doppler | infisical | dotenvx | 1password | env'
[INFO] [stdout]             cand --file-path 'Path to the export file (required with --from)'
[INFO] [stdout]             cand --force 'Overwrite existing secrets without prompting'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help (see more with ''--help'')'
[INFO] [stdout]             cand --help 'Print help (see more with ''--help'')'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;wrap'= {
[INFO] [stdout]             cand --only 'Only wrap specific scripts (by name)'
[INFO] [stdout]             cand --skip 'Skip specific scripts (by name)'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;unwrap'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;upgrade'= {
[INFO] [stdout]             cand --force 'Skip confirmation prompt and upgrade immediately'
[INFO] [stdout]             cand --check-only 'Print available version without modifying the binary'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;watch'= {
[INFO] [stdout]             cand --auto 'Auto-protect new secrets without prompting'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;rotate'= {
[INFO] [stdout]             cand --sync 'Also sync secrets to all configured deployment platforms after rotation'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]             cand show 'Print recent audit events (default: last 50)'
[INFO] [stdout]             cand tail 'Follow the audit log (like tail -f)'
[INFO] [stdout]             cand path 'Print the absolute path to the audit log'
[INFO] [stdout]             cand verify 'Verify the HMAC chain integrity of the audit log'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;show'= {
[INFO] [stdout]             cand --last 'Limit output to the last N events (default 50)'
[INFO] [stdout]             cand --op 'Filter by operation (e.g. vault.store, vault.retrieve)'
[INFO] [stdout]             cand --name 'Filter by secret name (e.g. OPENAI_API_KEY)'
[INFO] [stdout]             cand --json 'Emit raw JSONL instead of pretty-printing'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;tail'= {
[INFO] [stdout]             cand --op 'Filter by operation'
[INFO] [stdout]             cand --name 'Filter by secret name'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;path'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;verify'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;help'= {
[INFO] [stdout]             cand show 'Print recent audit events (default: last 50)'
[INFO] [stdout]             cand tail 'Follow the audit log (like tail -f)'
[INFO] [stdout]             cand path 'Print the absolute path to the audit log'
[INFO] [stdout]             cand verify 'Verify the HMAC chain integrity of the audit log'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;help;show'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;help;tail'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;help;path'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;help;verify'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;audit;help;help'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;open'= {
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;__clear-clipboard-after'= {
[INFO] [stdout]             cand --secs 'Seconds to wait before clearing'
[INFO] [stdout]             cand -v 'Enable verbose/debug logging'
[INFO] [stdout]             cand --verbose 'Enable verbose/debug logging'
[INFO] [stdout]             cand -q 'Suppress all output except errors'
[INFO] [stdout]             cand --quiet 'Suppress all output except errors'
[INFO] [stdout]             cand --json 'Output in JSON format (for scripting)'
[INFO] [stdout]             cand -h 'Print help'
[INFO] [stdout]             cand --help 'Print help'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help'= {
[INFO] [stdout]             cand init 'Import .env secrets into the vault and rewrite with phantom tokens'
[INFO] [stdout]             cand setup 'Wire Phantom into an AI client (Claude Code, Cursor, Windsurf, Codex)'
[INFO] [stdout]             cand agent 'Agent readiness report, doctor, and setup workflows'
[INFO] [stdout]             cand doctor 'Check configuration and vault health'
[INFO] [stdout]             cand completion 'Print a shell-completion script to stdout'
[INFO] [stdout]             cand mcp 'MCP server commands (Model Context Protocol)'
[INFO] [stdout]             cand exec 'Start the proxy and run a command'
[INFO] [stdout]             cand start 'Start the proxy server'
[INFO] [stdout]             cand stop 'Stop the background proxy server'
[INFO] [stdout]             cand status 'Show proxy status and mapped secrets'
[INFO] [stdout]             cand check 'Check for unprotected secrets (pre-commit hook)'
[INFO] [stdout]             cand list 'List stored secret names (never shows values)'
[INFO] [stdout]             cand add 'Add a secret to the vault'
[INFO] [stdout]             cand remove 'Remove a secret from the vault'
[INFO] [stdout]             cand reveal 'Reveal a secret value (print to stdout or copy to clipboard)'
[INFO] [stdout]             cand copy 'Copy a secret from this project''s vault to another project'
[INFO] [stdout]             cand env 'Generate .env.example for team onboarding'
[INFO] [stdout]             cand why 'Explain why a key is or isn''t protected'
[INFO] [stdout]             cand login 'Log in to Phantom Cloud'
[INFO] [stdout]             cand logout 'Log out of Phantom Cloud'
[INFO] [stdout]             cand cloud 'Cloud vault sync commands'
[INFO] [stdout]             cand team 'Team vault management'
[INFO] [stdout]             cand sync 'Sync secrets to deployment platforms (Vercel, Railway)'
[INFO] [stdout]             cand pull 'Pull secrets from a deployment platform into the vault'
[INFO] [stdout]             cand export 'Export secrets to an encrypted backup file or as plaintext JSON to stdout'
[INFO] [stdout]             cand import 'Import secrets from an encrypted backup or a competitor export'
[INFO] [stdout]             cand wrap 'Wrap package.json scripts with `phantom exec` (no more manual prefix)'
[INFO] [stdout]             cand unwrap 'Unwrap package.json scripts (restore originals from :raw variants)'
[INFO] [stdout]             cand upgrade 'Self-replace this binary with the latest GitHub release'
[INFO] [stdout]             cand watch 'Watch .env files and auto-detect new unprotected secrets'
[INFO] [stdout]             cand rotate 'Regenerate phantom tokens (invalidates old ones)'
[INFO] [stdout]             cand audit 'View the opt-in audit log (requires PHANTOM_AUDIT=1 to start logging)'
[INFO] [stdout]             cand open 'Open a Phantom page in the browser. Defaults to the dashboard. Aliases: dashboard, billing, team, docs, pricing, github, issues, site. Any other word becomes https://phm.dev/<word>; full URLs pass through'
[INFO] [stdout]             cand __clear-clipboard-after 'Internal: clear the system clipboard after N seconds. Spawned by `phantom reveal --copy` so the parent CLI can exit immediately while a detached child waits, then clears. Hidden from `--help`'
[INFO] [stdout]             cand help 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;init'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;setup'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;agent'= {
[INFO] [stdout]             cand report 'Emit the read-only readiness report'
[INFO] [stdout]             cand doctor 'Human-readable view of the readiness report'
[INFO] [stdout]             cand setup 'Initialize safe defaults for AI-agent use'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;agent;report'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;agent;doctor'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;agent;setup'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;doctor'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;completion'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;mcp'= {
[INFO] [stdout]             cand serve 'Run the MCP stdio server in-process (used by AI clients like Claude Code)'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;mcp;serve'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;exec'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;start'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;stop'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;status'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;check'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;list'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;add'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;remove'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;reveal'= {
[INFO] [stderr]      Running tests/add_remove_test.rs (/opt/rustwide/target/debug/deps/add_remove_test-eaa1c608e92bd5bb)
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;copy'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;env'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;why'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;login'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;logout'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;cloud'= {
[INFO] [stdout]             cand push 'Push local secrets to Phantom Cloud'
[INFO] [stdout]             cand pull 'Pull secrets from Phantom Cloud to local vault'
[INFO] [stdout]             cand status 'Show cloud sync status'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;cloud;push'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;cloud;pull'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;cloud;status'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team'= {
[INFO] [stdout]             cand list 'List your teams'
[INFO] [stdout]             cand create 'Create a new team'
[INFO] [stdout]             cand members 'List team members'
[INFO] [stdout]             cand invite 'Invite a member to a team'
[INFO] [stdout]             cand key-publish 'Register your team-vault public key on a team you belong to. Run this once per team before pushing or pulling vaults'
[INFO] [stdout]             cand vault-push 'Push the current project''s vault to a team (E2E encrypted to every member that has a registered public key)'
[INFO] [stdout]             cand vault-pull 'Pull the current project''s team vault into your local vault'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;list'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;create'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;members'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;invite'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;key-publish'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;vault-push'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;team;vault-pull'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;sync'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;pull'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;export'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;import'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;wrap'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;unwrap'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;upgrade'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;watch'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;rotate'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;audit'= {
[INFO] [stdout]             cand show 'Print recent audit events (default: last 50)'
[INFO] [stdout]             cand tail 'Follow the audit log (like tail -f)'
[INFO] [stdout]             cand path 'Print the absolute path to the audit log'
[INFO] [stdout]             cand verify 'Verify the HMAC chain integrity of the audit log'
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;audit;show'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;audit;tail'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;audit;path'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;audit;verify'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;open'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;__clear-clipboard-after'= {
[INFO] [stdout]         }
[INFO] [stdout]         &'phantom;help;help'= {
[INFO] [stdout]         }
[INFO] [stdout]     ]
[INFO] [stdout]     $completions[$command]
[INFO] [stdout] }
[INFO] [stdout] test commands::completion::tests::completion_runs_for_every_shell_variant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test add_without_init_fails ... ok
[INFO] [stdout] test list_shows_seed_secret_after_init ... ok
[INFO] [stdout] test add_updates_env_file_with_phantom_token ... ok
[INFO] [stdout] test add_then_list_shows_key ... ok
[INFO] [stdout] test remove_makes_key_disappear_from_list ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 47.61s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/add_stdin_test.rs (/opt/rustwide/target/debug/deps/add_stdin_test-4e9b5c622646812c)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test add_no_value_no_stdin_on_non_tty_fails ... ok
[INFO] [stdout] test add_stdin_empty_value_fails ... ok
[INFO] [stdout] test add_stdin_updates_env_file_with_phantom_token ... ok
[INFO] [stdout] test add_stdin_stores_secret_in_vault ... ok
[INFO] [stdout] test add_stdin_trims_trailing_newline ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 37.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_test.rs (/opt/rustwide/target/debug/deps/agent_test-198298c5483aa4fc)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test agent_setup_dry_run_prints_report_without_mutating_files ... ok
[INFO] [stdout] test agent_report_json_is_stable_and_blocks_unsafe_repo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/check_test.rs (/opt/rustwide/target/debug/deps/check_test-f4fea2f48f9f84ee)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test check_staged_blocks_staged_env_plaintext_secret ... ok
[INFO] [stdout] test check_staged_warns_on_risky_phantom_config_without_blocking ... ok
[INFO] [stdout] test check_staged_scans_only_added_code_lines ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cloud_test.rs (/opt/rustwide/target/debug/deps/cloud_test-3d66cb0c84a7e4e6)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test cloud_pull_handles_404_gracefully ... ignored, requires an auth token in the OS keychain; run manually with `cargo test -- --ignored`
[INFO] [stdout] test cloud_push_calls_vault_push_endpoint ... ignored, requires an auth token in the OS keychain; run manually with `cargo test -- --ignored`
[INFO] [stdout] test cloud_push_then_pull_round_trip ... ignored, requires an auth token in the OS keychain; run manually with `cargo test -- --ignored`
[INFO] [stdout] test cloud_pull_fails_without_auth_token ... ok
[INFO] [stdout] test cloud_push_fails_without_auth_token ... ok
[INFO] [stderr]      Running tests/doctor_test.rs (/opt/rustwide/target/debug/deps/doctor_test-16021fd7fcdf2e47)
[INFO] [stdout] test cloud_status_succeeds_and_reports_not_logged_in ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 7.82s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test doctor_warns_on_risky_phantom_config ... ok
[INFO] [stdout] test doctor_passes_service_routes_for_default_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stderr]      Running tests/init_test.rs (/opt/rustwide/target/debug/deps/init_test-f350bb225a6301a2)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test init_no_env_file_fails_gracefully ... ok
[INFO] [stdout] test init_creates_phantom_toml ... ok
[INFO] [stdout] test init_leaves_non_secret_vars_untouched ... ok
[INFO] [stdout] test init_creates_env_backup ... ok
[INFO] [stderr]      Running tests/list_json_test.rs (/opt/rustwide/target/debug/deps/list_json_test-f2ba519e0a0d213d)
[INFO] [stdout] test init_rewrites_env_with_phantom_tokens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 26.80s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test list_json_emits_valid_json_with_secret_names ... ok
[INFO] [stdout] test list_json_never_leaks_secret_values ... ok
[INFO] [stdout] test list_json_emits_empty_array_when_vault_has_no_secrets ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.36s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/phantom_core-1c02ebdce5c24f4d)
[INFO] [stdout] 
[INFO] [stdout] running 123 tests
[INFO] [stdout] test audit::tests::disabled_by_default ... ok
[INFO] [stdout] test agent::tests::reports_unsafe_for_uninitialized_secret_env ... ok
[INFO] [stdout] test audit::tests::schema_has_no_value_field ... ok
[INFO] [stdout] test audit::tests::enabled_when_env_set_to_one ... ok
[INFO] [stdout] test auth::tests::accepts_https_default_shape ... ok
[INFO] [stdout] test auth::tests::accepts_local_http_for_tests ... ok
[INFO] [stdout] test auth::tests::rejects_garbage_schemes ... ok
[INFO] [stdout] test auth::tests::rejects_localhost_host_confusion ... ok
[INFO] [stdout] test auth::tests::rejects_plain_http ... ok
[INFO] [stdout] test config::tests::service_risks_allows_default_config ... ok
[INFO] [stdout] test audit::tests::hmac_chain_detects_tampered_head_checkpoint ... ok
[INFO] [stdout] test config::tests::service_risks_allows_unknown_custom_provider ... ok
[INFO] [stdout] test config::tests::service_risks_warns_on_builtin_reroute ... ok
[INFO] [stdout] test config::tests::service_risks_warns_on_url_like_patterns_private_hosts_and_bad_header_format ... ok
[INFO] [stdout] test agent::tests::reports_verified_when_local_controls_are_present ... ok
[INFO] [stdout] test config::tests::test_connection_string_services ... ok
[INFO] [stdout] test config::tests::test_deny_unknown_fields_on_phantom_config ... ok
[INFO] [stdout] test config::tests::test_new_with_defaults ... ok
[INFO] [stdout] test config::tests::test_deny_unknown_fields_on_service_config ... ok
[INFO] [stdout] test config::tests::test_project_id_from_path ... ok
[INFO] [stdout] test audit::tests::hmac_chain_detects_tail_truncation_with_head_checkpoint ... ok
[INFO] [stdout] test config::tests::test_proxy_services ... ok
[INFO] [stdout] test dotenv::tests::parse_keeps_hash_inside_unquoted_value_when_no_preceding_whitespace ... ok
[INFO] [stdout] test dotenv::tests::rewrite_falls_back_for_double_quoted_value_with_escapes ... ok
[INFO] [stdout] test dotenv::tests::rewrite_falls_back_for_multiline_quoted_value ... ok
[INFO] [stdout] test config::tests::test_valid_config_still_parses ... ok
[INFO] [stdout] test dotenv::tests::rewrite_preserves_export_prefix ... ok
[INFO] [stdout] test dotenv::tests::rewrite_preserves_inline_comment_after_phantom_token ... ok
[INFO] [stdout] test config::tests::test_roundtrip_serialize ... ok
[INFO] [stdout] test dotenv::tests::rewrite_preserves_leading_indentation ... ok
[INFO] [stdout] test dotenv::tests::parse_strips_inline_comment_from_unquoted_value ... ok
[INFO] [stdout] test dotenv::tests::rewrite_preserves_double_quotes ... ok
[INFO] [stdout] test dotenv::tests::rewrite_preserves_non_secret_lines_verbatim ... ok
[INFO] [stdout] test dotenv::tests::test_classify_entries ... ok
[INFO] [stdout] test dotenv::tests::test_detect_phantom_tokens ... ok
[INFO] [stdout] test dotenv::tests::test_double_quoted_escapes_unescape ... ok
[INFO] [stdout] test audit::tests::hmac_chain_detects_sequence_gap ... ok
[INFO] [stdout] test dotenv::tests::test_generate_example_content ... ok
[INFO] [stdout] test dotenv::tests::test_looks_like_secret_f11_additions ... ok
[INFO] [stdout] test dotenv::tests::test_looks_like_secret_heuristics ... ok
[INFO] [stdout] test dotenv::tests::test_multiline_double_quoted_pem ... ok
[INFO] [stdout] test dotenv::tests::rewrite_preserves_single_quotes ... ok
[INFO] [stdout] test dotenv::tests::test_parse_quoted_values ... ok
[INFO] [stdout] test dotenv::tests::test_parse_simple_env ... ok
[INFO] [stdout] test dotenv::tests::test_preserves_comments_and_blanks ... ok
[INFO] [stdout] test dotenv::tests::test_parse_export_prefix ... ok
[INFO] [stdout] test dotenv::tests::test_public_key_entries ... ok
[INFO] [stdout] test dotenv::tests::test_real_secret_entries ... ok
[INFO] [stdout] test dotenv::tests::test_real_secret_entries_excludes_public_keys ... ok
[INFO] [stdout] test dotenv::tests::test_unterminated_double_quote_preserves_file ... ok
[INFO] [stdout] test dotenv::tests::test_rewrite_with_phantoms ... ok
[INFO] [stdout] test dotenv::tests::test_single_quoted_literal ... ok
[INFO] [stdout] test env_scope::tests::known_envs_includes_default_and_current ... ok
[INFO] [stdout] test env_scope::tests::namespaced_key_format ... ok
[INFO] [stdout] test audit::tests::hmac_chain_detects_malformed_line ... ok
[INFO] [stdout] test env_scope::tests::split_key_round_trips ... ok
[INFO] [stdout] test env_scope::tests::split_key_no_slash_returns_none ... ok
[INFO] [stdout] test env_scope::tests::validate_env_name_ok ... ok
[INFO] [stdout] test env_scope::tests::validate_env_name_rejects_empty ... ok
[INFO] [stdout] test env_scope::tests::resolve_env_flag_overrides_file ... ok
[INFO] [stdout] test env_scope::tests::read_active_env_returns_default_when_missing ... ok
[INFO] [stdout] test env_scope::tests::write_and_read_active_env ... ok
[INFO] [stdout] test fs::tests::test_atomic_write_creates_new_file ... ok
[INFO] [stdout] test fs::tests::test_atomic_write_creates_file_with_0600_mode ... ok
[INFO] [stdout] test fs::tests::test_atomic_write_rejects_path_without_parent ... ok
[INFO] [stdout] test importers::doppler::tests::handles_mixed_flat_types ... ok
[INFO] [stdout] test importers::doppler::tests::parse_flat_format ... ok
[INFO] [stdout] test env_scope::tests::validate_env_name_rejects_slash ... ok
[INFO] [stdout] test importers::doppler::tests::parse_object_format ... ok
[INFO] [stdout] test fs::tests::test_atomic_write_leaves_no_temp_files_on_success ... ok
[INFO] [stdout] test fs::tests::test_atomic_write_overwrites_existing ... ok
[INFO] [stdout] test importers::doppler::tests::skips_doppler_meta_keys ... ok
[INFO] [stdout] test audit::tests::hmac_chain_detects_tamper ... ok
[INFO] [stdout] test audit::tests::no_file_written_when_disabled ... ok
[INFO] [stdout] test importers::doppler::tests::skips_empty_values ... ok
[INFO] [stdout] test importers::dotenvx::tests::parse_dotenv_with_comments_and_export ... ok
[INFO] [stdout] test importers::dotenvx::tests::parse_json_flat_format ... ok
[INFO] [stdout] test importers::dotenvx::tests::parse_plain_dotenv ... ok
[INFO] [stdout] test importers::dotenvx::tests::skips_empty_values_dotenv ... ok
[INFO] [stdout] test importers::infisical::tests::parse_dotenv_format ... ok
[INFO] [stdout] test importers::infisical::tests::skips_empty_values_json ... ok
[INFO] [stdout] test importers::onepassword::tests::coerces_number_and_bool_values ... ok
[INFO] [stdout] test importers::onepassword::tests::parse_flat_json ... ok
[INFO] [stdout] test audit::tests::hmac_chain_round_trip ... ok
[INFO] [stdout] test dotenv::tests::test_is_public_key ... ok
[INFO] [stdout] test dotenv::tests::test_multiline_pem_classified_as_secret ... ok
[INFO] [stdout] test importers::onepassword::tests::skips_empty_values ... ok
[INFO] [stdout] test importers::onepassword::tests::warns_and_skips_nested_objects ... ok
[INFO] [stdout] test sync::tests::filter_empty_patterns_passes_all ... ok
[INFO] [stdout] test sync::tests::filter_key_suffix_glob ... ok
[INFO] [stdout] test sync::tests::filter_multiple_patterns_are_ored ... ok
[INFO] [stdout] test sync::tests::filter_no_matches_returns_empty ... ok
[INFO] [stdout] test sync::tests::filter_stripe_glob_matches_only_stripe ... ok
[INFO] [stdout] test sync::tests::validate_only_patterns_reports_invalid_globs ... ok
[INFO] [stdout] test importers::dotenvx::tests::refuses_encrypted_vault_file ... ok
[INFO] [stdout] test importers::infisical::tests::rejects_malformed_json_array ... ok
[INFO] [stdout] test importers::onepassword::tests::rejects_malformed_json ... ok
[INFO] [stdout] test importers::doppler::tests::rejects_non_object_input ... ok
[INFO] [stdout] test importers::onepassword::tests::rejects_non_object_input ... ok
[INFO] [stdout] test teams::tests::parses_create_team_response_envelope ... ok
[INFO] [stdout] test teams::tests::parses_list_teams_response_envelope ... ok
[INFO] [stdout] test teams_vault::tests::min_framed_len_matches_chacha_poly_overhead ... ok
[INFO] [stdout] test token::tests::test_from_str ... ok
[INFO] [stdout] test token::tests::test_is_phantom_token ... ok
[INFO] [stdout] test token::tests::test_phantom_token_generate ... ok
[INFO] [stdout] test token::tests::test_phantom_tokens_are_unique ... ok
[INFO] [stdout] test token::tests::test_token_map_insert_and_resolve ... ok
[INFO] [stdout] test token::tests::test_token_map_remove ... ok
[INFO] [stdout] test token::tests::test_token_map_secret_names ... ok
[INFO] [stdout] test teams::tests::parses_list_members_response_envelope ... ok
[INFO] [stdout] test importers::infisical::tests::parse_dotenv_with_quotes ... ok
[INFO] [stdout] test importers::infisical::tests::parse_json_array_format ... ok
[INFO] [stdout] test team_crypto::tests::share_for_one_member_unreadable_by_another ... ok
[INFO] [stdout] test team_crypto::tests::keypair_base64_roundtrip ... ok
[INFO] [stdout] test team_crypto::tests::ephemeral_keys_differ_per_push ... ok
[INFO] [stdout] test team_crypto::tests::roundtrip_sym_key_through_envelope ... ok
[INFO] [stdout] test audit::tests::hmac_chain_concurrent_writes_verify_clean ... ok
[INFO] [stdout] test audit::tests::hmac_chain_writes_monotonic_sequence_numbers ... ok
[INFO] [stdout] test audit::tests::hmac_chain_legacy_lines_reported ... ok
[INFO] [stdout] test audit::tests::hmac_chain_requires_head_checkpoint_for_sequenced_events ... ok
[INFO] [stdout] test audit::tests::log_result_required_errors_when_home_missing ... ok
[INFO] [stdout] test audit::tests::writes_jsonl_line_when_enabled ... ok
[INFO] [stdout] test audit::tests::required_mode_enabled ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 123 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/phantom_mcp-a69e7477ae643006)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test server::tests::test_add_secret_params_rejects_plaintext_value_field ... ok
[INFO] [stdout] test server::tests::test_add_secret_params_schema_omits_value_field ... ok
[INFO] [stdout] test server::tests::test_status_before_init ... ok
[INFO] [stdout] test server::tests::test_init_protects_secrets ... ok
[INFO] [stdout] test server::tests::test_destructive_tools_require_confirm ... ok
[INFO] [stdout] test server::tests::test_copy_secret_rejects_dot_dot ... ok
[INFO] [stdout] test server::tests::test_copy_secret_rejects_without_confirm ... ok
[INFO] [stdout] test server::tests::test_status_after_init ... ok
[INFO] [stdout] test server::tests::test_rotate_tokens ... ok
[INFO] [stdout] test server::tests::test_copy_secret_rejects_unresolvable_target ... ok
[INFO] [stdout] test server::tests::test_list_secrets_after_init ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 46.32s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/phantom_mcp-661a0940ef2e58d7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/phantom_proxy-48fdcfc80c514041)
[INFO] [stdout] 
[INFO] [stdout] running 63 tests
[INFO] [stdout] test body_scope::tests::allowed_header_per_service ... ok
[INFO] [stdout] test body_scope::tests::disallowed_header_rejected ... ok
[INFO] [stdout] test body_scope::tests::json_content_type_detection ... ok
[INFO] [stdout] test body_scope::tests::stream_flush_empty_carry ... ok
[INFO] [stdout] test body_scope::tests::stream_frame_no_token_passes_through ... ok
[INFO] [stdout] test body_scope::tests::stream_frame_token_split_across_frames ... ok
[INFO] [stdout] test body_scope::tests::stream_frame_token_split_at_every_position ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_none_excluded ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_text_plain ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_text_with_charset ... ok
[INFO] [stdout] test interceptor::tests::test_contains_phantom_token ... ok
[INFO] [stdout] test body_scope::tests::non_json_body_not_replaced ... ok
[INFO] [stdout] test interceptor::tests::test_max_secret_len ... ok
[INFO] [stdout] test body_scope::tests::json_body_disallowed_field_not_replaced ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_json_excluded ... ok
[INFO] [stdout] test body_scope::tests::stream_frame_whole_token_in_one_frame ... ok
[INFO] [stdout] test body_scope::tests::malformed_json_not_replaced ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_form_encoded ... ok
[INFO] [stdout] test interceptor::tests::test_multiple_replacements_in_body ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_text_event_stream ... ok
[INFO] [stdout] test body_scope::tests::stream_replace_binary_excluded ... ok
[INFO] [stdout] test interceptor::tests::test_max_secret_len_empty ... ok
[INFO] [stdout] test interceptor::tests::test_max_secret_len_varied ... ok
[INFO] [stdout] test body_scope::tests::empty_body_passes_through ... ok
[INFO] [stdout] test body_scope::tests::json_body_nested_allowed_field_replaced ... ok
[INFO] [stdout] test body_scope::tests::json_body_multiple_fields_mixed ... ok
[INFO] [stdout] test body_scope::tests::json_body_allowed_field_replaced ... ok
[INFO] [stdout] test body_scope::tests::content_type_with_charset_still_parses ... ok
[INFO] [stdout] test interceptor::tests::test_scrub_response_bytes ... ok
[INFO] [stdout] test interceptor::tests::test_scrub_no_secrets_in_response ... ok
[INFO] [stdout] test interceptor::tests::test_scrub_response_str ... ok
[INFO] [stdout] test interceptor::tests::test_streaming_scrub_overlap_window ... ok
[INFO] [stdout] test server::tests::test_constant_time_eq_rejects_length_mismatch ... ok
[INFO] [stdout] test interceptor::tests::test_resolve ... ok
[INFO] [stdout] test interceptor::tests::test_no_replacement_needed ... ok
[INFO] [stdout] test server::tests::test_constant_time_eq_matches_empty ... ok
[INFO] [stdout] test server::tests::test_constant_time_eq_rejects_differing_byte ... ok
[INFO] [stdout] test server::tests::test_constant_time_eq_matches_on_equal ... ok
[INFO] [stdout] test body_scope::tests::allowed_header_default_list ... ok
[INFO] [stdout] test server::tests::test_proxy_path_token_requires_compatibility_mode ... ok
[INFO] [stdout] test server::tests::test_body_size_limit_returns_413 ... ok
[INFO] [stdout] test server::tests::test_server_starts_and_stops ... ok
[INFO] [stdout] test server::tests::test_proxy_does_not_replace_phantom_token_in_disallowed_body_field ... ok
[INFO] [stdout] test server::tests::test_proxy_does_not_replace_phantom_token_in_disallowed_header ... ok
[INFO] [stdout] test server::tests::test_proxy_requires_header_token_by_default ... ok
[INFO] [stdout] test services::tests::test_match_route_no_trailing_path ... ok
[INFO] [stdout] test server::tests::test_proxy_query_token_requires_compatibility_mode ... ok
[INFO] [stdout] test services::tests::test_match_route_with_path ... ok
[INFO] [stdout] test services::tests::test_match_route_unknown ... ok
[INFO] [stdout] test server::tests::test_proxy_replaces_phantom_token_in_header ... ok
[INFO] [stdout] test server::tests::test_strip_path_proxy_token ... ok
[INFO] [stdout] test server::tests::test_sse_response_scrubs_real_secret ... ok
[INFO] [stdout] test interceptor::tests::test_replace_in_header_value ... ok
[INFO] [stdout] test server::tests::test_binary_content_type_passthrough_unchanged ... ok
[INFO] [stdout] test server::tests::test_proxy_replaces_phantom_token_in_body ... ok
[INFO] [stdout] test server::tests::test_proxy_preserves_query_params ... ok
[INFO] [stdout] test server::tests::test_proxy_injects_configured_header_without_client_auth ... ok
[INFO] [stdout] test services::tests::test_base_url_overrides ... ok
[INFO] [stdout] test services::tests::test_base_url_overrides_with_token ... ok
[INFO] [stdout] test interceptor::tests::test_replace_in_body ... ok
[INFO] [stdout] test server::tests::test_unknown_route_returns_404 ... ok
[INFO] [stdout] test server::tests::test_streaming_token_split_across_chunks ... ok
[INFO] [stdout] test server::tests::test_proxy_accepts_path_token_and_strips_before_routing ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- server::tests::test_proxy_accepts_path_token_and_strips_before_routing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'server::tests::test_proxy_accepts_path_token_and_strips_before_routing' (479) panicked at crates/phantom-proxy/src/server.rs:821:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 502
[INFO] [stdout]  right: 200
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56f125b94a08 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x56f125b94a08 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x56f125b94a08 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x56f125b94a08 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56f125baa9fa - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56f125baa9fa - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x56f125b999d2 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x56f125b999d2 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x56f125b72dd6 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x56f125b72dd6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x56f125b8ca69 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56f1254f583c - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x56f1254f583c - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x56f125b8cce2 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x56f125b8cce2 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x56f125b72e92 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x56f125b6a749 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x56f125b73d6d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x56f125bab1ec - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x56f125bab073 - core[5a1c3e9896636f3a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x56f1254bc566 - core[5a1c3e9896636f3a]::panicking::assert_failed::<http[6e284278fcdccc70]::status::StatusCode, u16>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x56f125444f6f - phantom_proxy[7e01f0f804d49e79]::server::tests::test_proxy_accepts_path_token_and_strips_before_routing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/phantom-proxy/src/server.rs:821:9
[INFO] [stdout]   22:     0x56f1254a9c02 - <core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>> as core[5a1c3e9896636f3a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x56f1254a9c7d - <core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>> as core[5a1c3e9896636f3a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x56f1254cc7dd - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:70
[INFO] [stdout]   25:     0x56f1254cc6db - tokio[1f04ed0e73b4493b]::task::coop::with_budget::<core[5a1c3e9896636f3a]::task::poll::Poll<()>, <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x56f1254cc6db - tokio[1f04ed0e73b4493b]::task::coop::budget::<core[5a1c3e9896636f3a]::task::poll::Poll<()>, <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x56f1254cc6db - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:25
[INFO] [stdout]   28:     0x56f1254c3660 - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Context>::enter::<core[5a1c3e9896636f3a]::task::poll::Poll<()>, <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:451:19
[INFO] [stdout]   29:     0x56f1254cb62d - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:777:44
[INFO] [stdout]   30:     0x56f1254ca8c4 - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:68
[INFO] [stdout]   31:     0x56f1254ad80b - <tokio[1f04ed0e73b4493b]::runtime::context::scoped::Scoped<tokio[1f04ed0e73b4493b]::runtime::scheduler::Context>>::set::<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}, (alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x56f1254d2639 - tokio[1f04ed0e73b4493b]::runtime::context::set_scheduler::<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:38
[INFO] [stdout]   33:     0x56f1254da652 - <std[d054f6f42beb1baa]::thread::local::LocalKey<tokio[1f04ed0e73b4493b]::runtime::context::Context>>::try_with::<tokio[1f04ed0e73b4493b]::runtime::context::set_scheduler<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   34:     0x56f1254da1de - <std[d054f6f42beb1baa]::thread::local::LocalKey<tokio[1f04ed0e73b4493b]::runtime::context::Context>>::with::<tokio[1f04ed0e73b4493b]::runtime::context::set_scheduler<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   35:     0x56f1254d0f1d - tokio[1f04ed0e73b4493b]::runtime::context::set_scheduler::<(alloc[154f689e5dd3bae5]::boxed::Box<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::Core>, core[5a1c3e9896636f3a]::option::Option<()>), <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:17
[INFO] [stdout]   36:     0x56f1254c9200 - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>::{closure#0}, core[5a1c3e9896636f3a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:27
[INFO] [stdout]   37:     0x56f1254c94f6 - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:765:24
[INFO] [stdout]   38:     0x56f1254ca320 - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:205:33
[INFO] [stdout]   39:     0x56f1254bce03 - tokio[1f04ed0e73b4493b]::runtime::context::runtime::enter_runtime::<<tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x56f1254c3191 - <tokio[1f04ed0e73b4493b]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:193:9
[INFO] [stdout]   41:     0x56f1254c2ca4 - <tokio[1f04ed0e73b4493b]::runtime::runtime::Runtime>::block_on_inner::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:371:52
[INFO] [stdout]   42:     0x56f1254c2e6f - <tokio[1f04ed0e73b4493b]::runtime::runtime::Runtime>::block_on::<core[5a1c3e9896636f3a]::pin::Pin<&mut dyn core[5a1c3e9896636f3a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:345:18
[INFO] [stdout]   43:     0x56f12544bfa2 - phantom_proxy[7e01f0f804d49e79]::server::tests::test_proxy_accepts_path_token_and_strips_before_routing
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/phantom-proxy/src/server.rs:823:31
[INFO] [stdout]   44:     0x56f125433fb7 - phantom_proxy[7e01f0f804d49e79]::server::tests::test_proxy_accepts_path_token_and_strips_before_routing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/phantom-proxy/src/server.rs:796:71
[INFO] [stdout]   45:     0x56f125432286 - <phantom_proxy[7e01f0f804d49e79]::server::tests::test_proxy_accepts_path_token_and_strips_before_routing::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x56f1254e891b - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x56f1254e891b - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   48:     0x56f1254f6195 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   49:     0x56f1254f6195 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x56f1254f6195 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x56f1254f6195 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x56f1254f6195 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x56f1254f6195 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   54:     0x56f1254f6195 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   55:     0x56f1254f0cf4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   56:     0x56f1254f0cf4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x56f1254f9212 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   58:     0x56f1254f9212 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x56f1254f9212 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x56f1254f9212 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x56f1254f9212 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x56f1254f9212 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   63:     0x56f1254f9212 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x56f125b9416f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   65:     0x56f125b9416f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   66:     0x769f9af3daa4 - <unknown>
[INFO] [stdout]   67:     0x769f9afcaa64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     server::tests::test_proxy_accepts_path_token_and_strips_before_routing
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 62 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p phantom-secrets-proxy --lib`
[INFO] running `Command { std: "docker" "inspect" "d134d8ea78e11024bed68243a556ca8b1b715a66b27718b699119cabb7abfea3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d134d8ea78e11024bed68243a556ca8b1b715a66b27718b699119cabb7abfea3", kill_on_drop: false }`
[INFO] [stdout] d134d8ea78e11024bed68243a556ca8b1b715a66b27718b699119cabb7abfea3
