Skip to content

Change a generated tool's settings after generation

Every author setting of a generated project lives in .gtb/manifest.yaml, and every command that changes it also brings the generated files into line, so you never edit YAML and then remember to regenerate.

Change a value

gtb set chat.default.provider openai
gtb set chat.default.model gpt-5
gtb set telemetry.endpoint https://telemetry.example.internal

gtb set validates the value the way the generate flags are validated: a chat default the tool does not link, a malformed endpoint or an unknown config layer is refused and nothing is written. The path is the manifest's (see the set reference); gtb set bogus x prints the full list.

Turn a feature on or off

gtb enable ai
gtb disable keychain
gtb enable signing --email [email protected]

enable and disable re-render the root command, the adapter files and any derived field the feature needs in the same run. Enabling ai records the default provider list and writes cmd/<name>/chat.go; disabling keychain removes cmd/<name>/keychain.go.

Be asked instead

gtb wizard
gtb wizard --dry-run

The generation wizard runs again with every page pre-filled from the manifest. Accept a page to keep it; change an answer to change the setting. --dry-run prints what would change and writes nothing.

Clear a value or read one back

gtb unset chat.default.model
gtb get chat.providers

Why not delete the generated file?

Every DO NOT EDIT file under cmd/<name>/ and pkg/cmd/root/signing.go is re-emitted from the manifest by every command that writes it, so a deleted file comes back. The durable override is the manifest field: chat.providers: [] to ship no provider, gtb disable keychain to drop the keychain, gtb disable signing to turn signing off. See the manifest concept.