Components Reference
The following tables detail every component in each category. Use this reference to understand exactly which behaviors change when you toggle a category variable.
| Category | Description |
|---|---|
C1 |
Command Shadows — Wraps destructive commands (rm, cp) to be safe by default |
C2 |
Startup Side-Effects — Bootstraps Fisher, generates wrappers, auto-activates venvs |
C3 |
[Overrides](/08-components-reference/03-c3-key-and-environment-overrides/) — Overrides cd, sets Vi mode, binds <CR> to smart_enter |
C4 |
Integrations — Kitty/Wezterm integrations, starship hooks, fzf theme |
C5 |
Logging and Capture — Session logs, command duration |
C6 |
Greeting & First-Run UI — Custom startup banner |
Each category further sub-divides into several sub-categories, each with
its own __fish_config_op_<category>_<subcategory> toggle – see that
category’s page for its sub-category list.
Per-function overrides: C0/always
Section titled “Per-function overrides: C0/always”Every guarded function or file can also carry a reserved always/on or
always/off tag in its # COMPONENT header, independent of every C1-C6
category and sub-category toggle and invisible to config-settings. An
always/off tag disables that function unconditionally; an always/on
tag enables it unconditionally, ignoring the state of every other tagged
sub-category. This is a per-function escape hatch for cases too granular
or too idiosyncratic to justify a taxonomy entry – edit the header
directly and run __fish_config_op_registry_rebuild to apply the change.