opencode.env
v0.0.2
Published
OpenCode plugin that loads `.env` files and direnv environment variables into every shell invocation.
Readme
opencode.env
OpenCode plugin that loads .env files and direnv environment variables into
every shell invocation.
Usage
Add to your OpenCode config (opencode.json):
{
"plugin": ["opencode.env"]
}Configuration
Create a config file in any of these locations. Layers are merged in this order (later wins and merged instead of replacing):
~/.opencode.env.json— global./.opencode.env.json— project root./.opencode/env.json— project root
{
"$schema": "https://github.com/NazmusSayad/opencode.env/raw/refs/heads/schema/schema.json",
"files": [".env", ".env.local"],
"define": {
"NODE_ENV": "development",
"MY_VAR": "value"
},
"disableDirenv": false,
"disableGlobal": false,
"disableCwdEnv": false,
"disableCwdDirenv": false
}files
Array of .env-style file paths to load (resolved relative to the project root,
or ~/ for home directory). Variables are merged in order — later files
override earlier ones.
define
Inline KEY: "value" map of environment variables merged over file-based vars.
disableGlobal
Set to true to ignore the global config's files and define settings.
disableCwdEnv
By default, .env files from the current working directory are also loaded
(if different from the project root). Set to true to load only from the
project root.
disableDirenv
Set to true to skip loading environment variables from direnv.
disableCwdDirenv
By default, direnv is evaluated in the current working directory (if different
from the project root). Set to true to evaluate direnv only in the project
root.
Debugging
Set OPENCODE_ENV_LOG_ENABLED=true to write logs to
os.tmpdir()/.opencode.env-logs/. Use OPENCODE_ENV_LOG_PATH to specify a
custom log directory.
