Skip to content

Config

The CLI uses a layered configuration system. Resolution order (highest priority first):

  1. Flags -- Command-line flags
  2. Environment variables -- CABAL_* env vars
  3. Project config -- .cabal/config.json in the current directory
  4. Global config -- ~/.cabal/config.json
  5. Defaults -- Built-in defaults

cabal config list

Show the merged configuration with source annotations.

cabal config list
cabal config list --json

Example Output

Configuration
 
  output                               human            [default]
  hints                                true             [default]
  chains.solana.baseCurrency           USDC             [default]
  chains.solana.slippage               200              [global]
  chains.solana.explorer               solscan          [default]
  chains.hyperliquid.baseCurrency      USDC             [default]
  chains.hyperliquid.slippage          50               [default]
  chains.hyperliquid.explorer          hyperliquid      [default]

Source labels: [default], [global], [project], [env], [flag].


cabal config get

Get a single config value by dot-path.

cabal config get chains.solana.slippage
cabal config get output

The config path is a positional argument. Chain aliases work: chains.sol.slippage resolves to chains.solana.slippage.


cabal config set

Set a config value. Preview-by-default.

# Set globally (default)
cabal config set chains.solana.slippage 200 --yes
 
# Set at project level
cabal config set output json --project --yes

Flags

FlagDescription
--projectWrite to project config (.cabal/config.json) instead of global

The config path and value are positional arguments.


cabal config reset

Reset a config key to its default value, or delete the entire config file. Requires --yes.

# Reset a single key
cabal config reset chains.solana.slippage --yes
 
# Delete entire global config file
cabal config reset --yes

The config path is an optional positional argument. If omitted, the entire global config file is deleted.


cabal config path

Show the paths to global and project config files.

cabal config path

Example Output

Config Paths
 
  Global:  /Users/you/.cabal/config.json (exists)
  Project: /Users/you/project/.cabal/config.json (not found)

Valid Config Paths

PathTypeDefaultEnv Var
outputhuman | jsonhumanCABAL_OUTPUT
hintsbooleantrueCABAL_HINTS
chains.solana.baseCurrencystringUSDCCABAL_SOLANA_BASE_CURRENCY
chains.solana.slippage1-5000 (bps)100CABAL_SOLANA_SLIPPAGE
chains.solana.explorersolscan | solana.fm | xraysolscanCABAL_SOLANA_EXPLORER
chains.hyperliquid.baseCurrencystringUSDCCABAL_HYPERLIQUID_BASE_CURRENCY
chains.hyperliquid.slippage1-5000 (bps)50CABAL_HYPERLIQUID_SLIPPAGE
chains.hyperliquid.explorerhyperliquidhyperliquidCABAL_HYPERLIQUID_EXPLORER

Chain aliases work in dot-paths: chains.sol.slippage is the same as chains.solana.slippage.