mise-env-fnox
March 9, 2026 ยท View on GitHub
A mise env plugin that loads secrets from fnox into your development environment.
Caution
I am not sure this plugin is a good idea. fnox was built as a separate CLI for a reason. I would probably advise avoiding this.
Installation
Add the plugin to your project's mise.toml:
[plugins]
fnox-env = "https://github.com/jdx/mise-env-fnox"
[env]
_.fnox-env = { tools = true }
Configuration Options
| Option | Description | Default |
|---|---|---|
tools | Use mise-managed tools (required if fnox is installed via mise) | false |
profile | fnox profile to use | default |
fnox_bin | Path to fnox binary | fnox |
Examples
[plugins]
fnox-env = "https://github.com/jdx/mise-env-fnox"
[env]
# Use default profile
_.fnox-env = { tools = true }
[plugins]
fnox-env = "https://github.com/jdx/mise-env-fnox"
[env]
# Use production profile
_.fnox-env = { tools = true, profile = "production" }
Environment-Specific Configuration
Combine with mise's environment system for different profiles per environment:
[plugins]
fnox-env = "https://github.com/jdx/mise-env-fnox"
[env]
_.fnox-env = { tools = true, profile = "dev" }
[env.production]
_.fnox-env = { tools = true, profile = "production" }
[env.staging]
_.fnox-env = { tools = true, profile = "staging" }
Then activate different environments:
# Development (default)
mise env
# Production
MISE_ENV=production mise env
# Staging
MISE_ENV=staging mise env
How It Works
When mise activates your environment, the fnox plugin:
- Searches for
fnox.tomlin the current directory and parent directories - Resolves secrets using your configured providers
- Exports the secrets as environment variables
- Watches
fnox.tomlfor changes to invalidate the cache
Caching
This plugin supports mise's environment caching (when MISE_ENV_CACHE=1). Secrets are:
- Cached encrypted on disk for fast subsequent loads
- Automatically refreshed when
fnox.tomlchanges - Scoped to your shell session for security
To enable caching:
export MISE_ENV_CACHE=1
License
MIT