OS Manuals

/usr/local/bin/chisel

Compatibility paths for the upstream Foundry image

From foundry-compat 1.9.0-r0 (enterprise-packages), captured 2026-11-08 by running chisel --help (exit 0). permalink

Fast, utilitarian, and verbose Solidity REPL

Usage: chisel [OPTIONS] [COMMAND]

Commands:
  list         List all cached sessions
  load         Load a cached session
  view         View the source of a cached session without restoring RPC credentials or compiling it
  clear-cache  Clear all cached chisel sessions from the cache directory
  eval         Simple evaluation of a command without entering the REPL
  help         Print this message or the help of the given subcommand(s)

Options:
  -j, --threads <THREADS>
          Number of threads to use. Specifying 0 defaults to the number of logical cores

          [alias: --jobs]

      --profile <PROFILE>
          The configuration profile to use

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Display options:
  -v, --verbosity...
          Verbosity level of the log messages.

          Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv).

          Depending on the context the verbosity levels have different meanings.

          For example, the verbosity levels of the EVM are:
          - 2 (-vv): Print logs for all tests.
          - 3 (-vvv): Print execution traces for failing tests.
          - 4 (-vvvv): Print execution traces for all tests, and setup traces for failing tests.
          - 5 (-vvvvv): Print execution and setup traces for all tests, including storage changes
          and
            backtraces with line numbers.

  -q, --quiet
          Do not print log messages

      --json
          Format log messages as JSON

      --md
          Format log messages as Markdown

      --color <COLOR>
          The color of the log messages

          Possible values:
          - auto:   Intelligently guess whether to use color output (default)
          - always: Force color output
          - never:  Force disable color output

REPL options:
      --prelude <PRELUDE>
          Path to a directory containing Solidity files to import, or path to a single Solidity
          file.

          These files will be evaluated before the top-level of the REPL, therefore functioning as a
          prelude

      --no-vm
          Disable the default `Vm` import.

          The import is disabled by default if the Solc version is less than 0.6.2.

      --ir-minimum
          Enable viaIR with minimum optimization

          This can fix most of the "stack too deep" errors while resulting a relatively accurate
          source map.

Cache options:
      --force
          Clear the cache and artifacts folder and recompile

Build options:
      --no-cache
          Disable the cache

      --no-dynamic-test-linking
          Disable dynamic test linking

      --skip <SKIP>...
          Skip building files whose names contain the given filter.

          `test` and `script` are aliases for `.t.sol` and `.s.sol`.

Linker options:
      --disallow-linked-libraries
          Reject contracts that depend on externally linked Solidity libraries.

          Internal libraries and dynamic test linking remain available. Overrides
          `allow_linked_libraries` in configuration and environment variables.

      --libraries <LIBRARIES>
          Set pre-linked libraries

          [env: DAPP_LIBRARIES=]

Compiler options:
      --ignored-error-codes <ERROR_CODES>
          Ignore solc warnings by error code

  -D, --deny <LEVEL>
          A compiler error will be triggered at the specified diagnostic level.

          Replaces the deprecated `--deny-warnings` flag.

          Possible values: - `never`: Do not treat any diagnostics as errors. - `warnings`: Treat
          warnings as errors. - `notes`: Treat both, warnings and notes, as errors.

          Possible values:
          - never:    Always exit with zero code
          - warnings: Exit with a non-zero code if any warnings are found
          - notes:    Exit with a non-zero code if any notes or warnings are found

      --no-auto-detect
          Do not auto-detect the `solc` version

      --use <SOLC_VERSION>
          Specify the solc version, path, or executable name on `PATH` to build with.

          Valid values are in the format `x.y.z`, `solc:x.y.z`, `path/to/solc`, or `solc`.

      --offline
          Do not access the network.

          Missing solc versions will not be installed.

      --use-literal-content
          Changes compilation to only use literal content and not URLs

      --no-metadata
          Do not append any metadata to the bytecode.

          This is equivalent to setting `bytecode_hash` to `none` and `cbor_metadata` to `false`.

      --ast
          Includes the AST as JSON in the compiler output

      --evm-version <VERSION>
          The target EVM version

      --optimize [<OPTIMIZE>]
          Activate the Solidity optimizer

          [possible values: true, false]

      --optimizer-runs <RUNS>
          The number of runs specifies roughly how often each opcode of the deployed code will be
          executed across the life-time of the contract. This means it is a trade-off parameter
          between code size (deploy cost) and code execution cost (cost after deployment). An
          `optimizer_runs` parameter of `1` will produce short but expensive code. In contrast, a
          larger `optimizer_runs` parameter will produce longer but more gas efficient code

      --via-ir
          Use the Yul intermediate representation compilation pipeline

      --via-ssa-cfg
          Turn on SSA CFG-based code generation via the IR (experimental).

          This passes `--via-ssa-cfg` to solc. Implies `--via-ir`. Requires `--experimental` to be
          set (as of Solidity 0.8.35+). This is false by default.

      --experimental
          Enable Solidity's experimental mode.

          This passes `--experimental` to solc, which is required by Solidity 0.8.35+ for
          experimental features.

      --extra-output <SELECTOR>...
          Extra output to include in the contract's artifact.

          Example keys: evm.assembly, ewasm, ir, irOptimized, metadata

          For a full description, see
          <https://docs.soliditylang.org/en/v0.8.13/using-the-compiler.html#input-description>

      --extra-output-files <SELECTOR>...
          Extra output to write to separate files.

          Valid values: metadata, ir, irOptimized, ewasm, evm.assembly

Project options:
  -o, --out <PATH>
          The path to the contract artifacts folder

      --revert-strings <REVERT>
          Revert string configuration.

          Possible values are "default", "strip" (remove), "debug" (Solidity-generated revert
          strings) and "verboseDebug"

      --build-info
          Generate build info files

      --build-info-path <PATH>
          Output path to directory that build info files will be written to

      --root <PATH>
          The project's root path.

          By default root of the Git repository, if in one, or the current working directory.

  -C, --contracts <PATH>
          The contracts source directory

  -R, --remappings <REMAPPINGS>
          The project's remappings

      --remappings-env <ENV>
          The project's remappings from the environment

      --cache-path <PATH>
          The path to the compiler cache

      --lib-paths <PATH>
          The path to the library folder

      --hardhat
          Use the Hardhat-style project layout.

          This is the same as using: `--contracts contracts --lib-paths node_modules`.

          [alias: --hh]

      --config-path <FILE>
          Path to the config file.

          The project root is the config file's parent directory.

EVM options:
  -r, --rpc-url <URL>
          The RPC endpoint

          [alias: --fork-url]

  -k, --insecure
          Allow insecure RPC connections (accept invalid HTTPS certificates).

          When the provider's inner runtime transport variant is HTTP, this configures the reqwest
          client to accept invalid certificates.

      --rpc-timeout <RPC_TIMEOUT>
          Timeout for the RPC request in seconds.

          The specified timeout will be used to override the default timeout for RPC requests.

          Default value: 45

          [env: ETH_RPC_TIMEOUT=]

      --no-proxy
          Disable automatic proxy detection.

          Use this in sandboxed environments (e.g., Cursor IDE sandbox, macOS App Sandbox) where
          system proxy detection causes crashes. When enabled, HTTP_PROXY/HTTPS_PROXY environment
          variables and system proxy settings will be ignored.

      --compute-units-per-second <CUPS>
          Sets the number of assumed available compute units per second for this provider.

          default value: 330

          See also
          <https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second>

      --no-rpc-rate-limit
          Disables rate limiting for this node's provider.

          See also
          <https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second>

          [alias: --no-rate-limit]

      --fork-block-number <BLOCK>
          Fetch state from a specific block number over a remote endpoint.

          See --rpc-url.

      --fork-state-by-number
          Fetch fork state by block number instead of hash.

          Use for RPC endpoints that cannot serve state by block hash. Number-based reads cannot
          guarantee a consistent snapshot if the remote chain reorganizes and do not use the disk
          state cache. Transaction replay still requires hash-addressed state.

      --fork-retries <RETRIES>
          Number of retries.

          See --rpc-url.

      --fork-retry-backoff <BACKOFF>
          Initial retry backoff on encountering errors.

          See --rpc-url.

      --no-storage-caching
          Explicitly disables the use of RPC caching.

          All storage slots are read entirely from the endpoint.

          This flag overrides the project's configuration file.

          See --rpc-url.

      --no-fork-bal
          Disable parent-block BAL cache prewarming for transaction-hash fork cheatcodes.

          Preceding transactions are still replayed when prewarming is enabled.

      --fork-prefetch
          Prefetch a new fork block's cache from the keys of an older cached block on the same
          chain.

          Helps forks of `latest`, which start with an empty cache on each new head.

      --initial-balance <BALANCE>
          The initial balance of deployed test contracts

      --sender <ADDRESS>
          The address which will be executing tests/scripts

      --ffi
          Enable the FFI cheatcode

      --live-logs
          Whether to show `console.log` outputs in realtime during script/test execution

      --always-use-create-2-factory
          Use the create 2 factory in all cases including tests and non-broadcasting scripts

      --create2-deployer <ADDRESS>
          The CREATE2 deployer address to use, this will override the one in the config

Executor environment config:
      --code-size-limit <CODE_SIZE>
          EIP-170: Contract code size limit in bytes. Useful to increase this because of tests. By
          default, it is 0x6000 (~25kb)

      --chain <CHAIN>
          The chain name or EIP-155 chain ID

          [alias: --chain-id]

      --gas-price <GAS_PRICE>
          The gas price

      --block-base-fee-per-gas <FEE>
          The base fee in a block

          [alias: --base-fee]

      --tx-origin <ADDRESS>
          The transaction origin

      --block-coinbase <ADDRESS>
          The coinbase of the block

      --block-timestamp <TIMESTAMP>
          The timestamp of the block

      --block-number <BLOCK>
          The block number

      --block-difficulty <DIFFICULTY>
          The block difficulty

      --block-prevrandao <PREVRANDAO>
          The block prevrandao value. NOTE: Before merge this field was mix_hash

      --block-gas-limit <BLOCK_GAS_LIMIT>
          The block gas limit

          [alias: --gas-limit]

      --memory-limit <MEMORY_LIMIT>
          The memory limit per EVM execution in bytes. If this limit is exceeded, a `MemoryLimitOOG`
          result is thrown.

          The default is 128MiB.

      --disable-block-gas-limit
          Whether to disable the block gas limit checks

          [aliases: --no-block-gas-limit, --no-gas-limit]

      --enable-tx-gas-limit
          Whether to enable tx gas limit checks as imposed by Osaka (EIP-7825)

          [alias: --tx-gas-limit]

      --isolate
          Whether to enable isolation of calls. In isolation mode all top-level calls are executed
          as a separate transaction in a separate EVM context, enabling more precise gas accounting
          and transaction state changes

      --no-isolate
          Whether to disable isolation of calls

      --hardfork <HARDFORK>
          The runtime EVM hardfork to use.

          Network-specific hardforks must be namespaced, for example `tempo:T5`.

Networks:
  -n, --network <NETWORK>
          Enable a specific network family

          [possible values: ethereum, optimism, tempo, monad]

      --celo
          Enable Celo network features
Options (84)
OptionDescriptionSource
-j, --threads THREADSNumber of threads to use.help
--profile PROFILEThe configuration profile to usehelp
-h, --helpPrint help (see a summary with '-h')help
-V, --versionPrint versionhelp
-v, --verbosityVerbosity level of the log messages.help
-q, --quietDo not print log messageshelp
--jsonFormat log messages as JSONhelp
--mdFormat log messages as Markdownhelp
--color COLORThe color of the log messageshelp
--prelude PRELUDEPath to a directory containing Solidity files to import, or path to a single Solidity file.help
--no-vmDisable the default `Vm` import.help
--ir-minimumEnable viaIR with minimum optimizationhelp
--forceClear the cache and artifacts folder and recompilehelp
--no-cacheDisable the cachehelp
--no-dynamic-test-linkingDisable dynamic test linkinghelp
--skip SKIP>...Skip building files whose names contain the given filter.help
--disallow-linked-librariesReject contracts that depend on externally linked Solidity libraries.help
--libraries LIBRARIESSet pre-linked librarieshelp
--ignored-error-codes ERROR_CODESIgnore solc warnings by error codehelp
-D, --deny LEVELA compiler error will be triggered at the specified diagnostic level.help
--no-auto-detectDo not auto-detect the `solc` versionhelp
--use SOLC_VERSIONSpecify the solc version, path, or executable name on `PATH` to build with.help
--offlineDo not access the network.help
--use-literal-contentChanges compilation to only use literal content and not URLshelp
--no-metadataDo not append any metadata to the bytecode.help
--astIncludes the AST as JSON in the compiler outputhelp
--evm-version VERSIONThe target EVM versionhelp
--optimize OPTIMIZEActivate the Solidity optimizerhelp
--optimizer-runs RUNSThe number of runs specifies roughly how often each opcode of the deployed code will be executed across the life-time of the contract.help
--via-irUse the Yul intermediate representation compilation pipelinehelp
--via-ssa-cfgTurn on SSA CFG-based code generation via the IR (experimental).help
--experimentalEnable Solidity's experimental mode.help
--extra-output SELECTOR>...Extra output to include in the contract's artifact.help
--extra-output-files SELECTOR>...Extra output to write to separate files.help
-o, --out PATHThe path to the contract artifacts folderhelp
--revert-strings REVERTRevert string configuration.help
--build-infoGenerate build info fileshelp
--build-info-path PATHOutput path to directory that build info files will be written tohelp
--root PATHThe project's root path.help
-C, --contracts PATHThe contracts source directoryhelp
-R, --remappings REMAPPINGSThe project's remappingshelp
--remappings-env ENVThe project's remappings from the environmenthelp
--cache-path PATHThe path to the compiler cachehelp
--lib-paths PATHThe path to the library folderhelp
--hardhatUse the Hardhat-style project layout.help
--config-path FILEPath to the config file.help
-r, --rpc-url URLThe RPC endpointhelp
-k, --insecureAllow insecure RPC connections (accept invalid HTTPS certificates).help
--rpc-timeout RPC_TIMEOUTTimeout for the RPC request in seconds.help
--no-proxyDisable automatic proxy detection.help
--compute-units-per-second CUPSSets the number of assumed available compute units per second for this provider.help
--no-rpc-rate-limitDisables rate limiting for this node's provider.help
--fork-block-number BLOCKFetch state from a specific block number over a remote endpoint.help
--fork-state-by-numberFetch fork state by block number instead of hash.help
--fork-retries RETRIESNumber of retries.help
--fork-retry-backoff BACKOFFInitial retry backoff on encountering errors.help
--no-storage-cachingExplicitly disables the use of RPC caching.help
--no-fork-balDisable parent-block BAL cache prewarming for transaction-hash fork cheatcodes.help
--fork-prefetchPrefetch a new fork block's cache from the keys of an older cached block on the same chain.help
--initial-balance BALANCEThe initial balance of deployed test contractshelp
--sender ADDRESSThe address which will be executing tests/scriptshelp
--ffiEnable the FFI cheatcodehelp
--live-logsWhether to show `console.log` outputs in realtime during script/test executionhelp
--always-use-create-2-factoryUse the create 2 factory in all cases including tests and non-broadcasting scriptshelp
--create2-deployer ADDRESSThe CREATE2 deployer address to use, this will override the one in the confighelp
--code-size-limit CODE_SIZEEIP-170: Contract code size limit in bytes.help
--chain CHAINThe chain name or EIP-155 chain IDhelp
--gas-price GAS_PRICEThe gas pricehelp
--block-base-fee-per-gas FEEThe base fee in a blockhelp
--tx-origin ADDRESSThe transaction originhelp
--block-coinbase ADDRESSThe coinbase of the blockhelp
--block-timestamp TIMESTAMPThe timestamp of the blockhelp
--block-number BLOCKThe block numberhelp
--block-difficulty DIFFICULTYThe block difficultyhelp
--block-prevrandao PREVRANDAOThe block prevrandao value.help
--block-gas-limit BLOCK_GAS_LIMITThe block gas limithelp
--memory-limit MEMORY_LIMITThe memory limit per EVM execution in bytes.help
--disable-block-gas-limitWhether to disable the block gas limit checkshelp
--enable-tx-gas-limitWhether to enable tx gas limit checks as imposed by Osaka (EIP-7825)help
--isolateWhether to enable isolation of calls.help
--no-isolateWhether to disable isolation of callshelp
--hardfork HARDFORKThe runtime EVM hardfork to use.help
-n, --network NETWORKEnable a specific network familyhelp
--celoEnable Celo network featureshelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.