opencode-sleep-inhibitPrevent Linux sleep while OpenCode agents are working.
0
257
137 in 7 days
34.8
Multi-signal model
6 days ago
2026-08-13
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-sleep-inhibit@0.2.0"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-sleep-inhibit@0.2.0"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D opencode-sleep-inhibitopencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
Prevent suspend and hibernation while OpenCode agents are working on Linux.
Long-running agents should not be interrupted because your laptop suspends. This plugin prevents sleep while OpenCode is busy, then restores normal power management when the work finishes.
It also covers subagents, retries, tool approvals, permissions, and questions waiting for your response.
Install
You need Linux with systemd and OpenCode 1.18.5 or a newer 1.x release. Add the npm package to your project or global OpenCode configuration:
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
[
"opencode-sleep-inhibit",
{ "mode": "sleep", "cooldownMinutes": 0 }
]
]
}
OpenCode installs and caches the package automatically. No separate npm install is required.
Choose a Mode
Allow locking (recommended)
"sleep" prevents suspend and hibernation while still allowing your screen to turn off and lock normally.
{ "mode": "sleep" }
Keep the screen awake
"sleep-and-idle" also asks your desktop to keep the screen on and unlocked. Only use this when leaving the computer unlocked is acceptable.
{ "mode": "sleep-and-idle" }
Support for idle inhibition depends on your desktop environment.
Keep It Awake After Work
By default, the inhibitor is released as soon as all agent work becomes idle. Set cooldownMinutes to keep the laptop awake for a follow-up window:
{ "mode": "sleep", "cooldownMinutes": 60 }
New work during the cooldown cancels the pending release. The cooldown starts again when all work becomes idle. Keep the default value of 0 to release the inhibitor immediately.
Check It
While OpenCode is working, run:
systemd-inhibit --list
An OpenCode entry should appear while work is active and disappear when it finishes.
Development
bun install --frozen-lockfile
bun run check
bun run test
npm pack --dry-run
License
MIT