Enforces minimum task duration. Prevents AI from ending tasks prematurely before a time limit expires. Useful for forcing continuous work and preventing premature convergence.
(c) 2026 Roderick Qiu.
Sometimes AI finishes tasks too quickly, declaring "done" before thoroughly exploring all options or completing all necessary work. This plugin enforces a minimum work duration by:
- Blocking the AI from ending until the timer expires
- Injecting system prompts that reinforce the workaholic mindset
- Encouraging the AI to propose new tasks when todos are complete
- ⏱️ Minimum duration enforcement - AI cannot end until timer expires
- 🚫 Sleep blocking - Prevents time-wasting via sleep commands
- 🔄 Persistent timer - Survives across messages
- 📊 Status checking - Always knows remaining time
- 💪 Strong behavioral prompts - Reinforces workaholic mindset
- 🔐 Checkout system - AI must call checkout to officially end (only works at timer = 0)
- 🎲 Random prompt rotation - 6 different prompt styles prevent AI from adapting
/workaholic [Your requirements, for xxx minutes]Or use the tool directly:
Use workaholic.start with minutes=30
Call workaholic.status to see remaining time
Call workaholic.checkout to officially end the task
- Only works when timer = 0
- If time remains, checkout will be rejected
- Timer starts when you invoke
/workaholicin OpenCode - Every response - AI automatically checks remaining time via system prompt injection
- Sleep forbidden - Any attempt to use
sleepthrows an error - End detection - If AI says "done", a warning is appended forcing continuation
- Checkout required - AI must call
workaholic.checkoutto officially end - Only ends when - Timer shows 0 remaining seconds AND checkout is called
| Tool | Description |
|---|---|
workaholic.start |
Start timer with duration in minutes (supports decimals: 2.5, 3.5) |
workaholic.status |
Check remaining time |
workaholic.checkout |
End task - only succeeds when timer = 0 |
workaholic.stop |
Stop workaholic mode early |
- OpenCode with plugin support
bunx opencode-workaholic@latest install# Clone or copy the plugin to your plugins directory
# Then add to your OpenCode configEdit ~/.config/opencode/opencode.json:
{
"plugins": ["opencode-workaholic"]
}Or use local path:
{
"plugins": ["file:///<path-to>/opencode-workaholic"]
}cd opencode-workaholic
bun install
mise run buildmise run build- Build the pluginmise run test- Run testsmise run lint- Lint codemise run lint:fix- Fix linting issuesmise run format- Format code with Prettier
MIT License. See the LICENSE file for details.
- OpenCode - The platform that makes this possible
- opencode-plugin-template - The plugin framework that makes this easier