Summary
taskless rules create rejects version: "2026-03-02" in taskless.json, requiring 2026-03-03 or later and suggesting taskless init to fix it. However, taskless init only reinstalls skills/commands — it does not update the taskless.json config file, creating an unresolvable loop.
Environment
- CLI version: 0.0.7 (
pnpm dlx @taskless/cli@latest)
- Config spec version:
2026-03-02 (in .taskless/taskless.json)
- Required spec version:
2026-03-03
- Platform: Linux (WSL2)
Reproduction Steps
- Have an existing Taskless project initialized with spec version
2026-03-02
- Run
taskless rules create:
echo '{"prompt": "detect console.log"}' | pnpm dlx @taskless/cli@latest rules create --json
- Observe error:
Spec version 2026-03-02 is too old for rule generation. Update to 2026-03-03 or later by re-running 'taskless init'
- Run the suggested fix:
pnpm dlx @taskless/cli@latest init
- Output shows skills reinstalled, but
.taskless/taskless.json still shows "version": "2026-03-02"
- Re-running
rules create fails with the same error — infinite loop
Current .taskless/taskless.json
{
"version": "2026-03-02",
"astGrepVersion": "0.38.0",
"orgId": 32312867,
"repositoryUrl": "https://github.com/taskless/taskless"
}
Root Cause
The init command's scope is limited to skills/commands installation (.claude/skills/, .claude/commands/). It does not touch .taskless/taskless.json. The error message's remediation ("re-run taskless init") is incorrect because init cannot fix the problem.
Possible Resolutions
-
init should also migrate taskless.json — When taskless init detects an outdated spec version, it should bump the version field (and apply any schema migrations). This makes the error message's suggestion actually work.
-
Add a dedicated taskless migrate or taskless upgrade command — Separate skill installation from config migration. Update the error message to reference this command instead.
-
Fix the error message — If init is intentionally not supposed to touch config, the error message should provide the correct remediation.
-
Scaffold updates via PR — For managed repos, Taskless could open a PR to update the config scaffold when breaking spec changes are introduced (similar to Dependabot/Renovate), preventing users from hitting this issue.
Workaround
Manually editing .taskless/taskless.json to set "version": "2026-03-03" may unblock rule creation, but it's unclear if there are other schema changes between versions that need to be applied.
Summary
taskless rules createrejectsversion: "2026-03-02"intaskless.json, requiring2026-03-03or later and suggestingtaskless initto fix it. However,taskless initonly reinstalls skills/commands — it does not update thetaskless.jsonconfig file, creating an unresolvable loop.Environment
pnpm dlx @taskless/cli@latest)2026-03-02(in.taskless/taskless.json)2026-03-03Reproduction Steps
2026-03-02taskless rules create:Spec version 2026-03-02 is too old for rule generation. Update to 2026-03-03 or later by re-running 'taskless init'pnpm dlx @taskless/cli@latest init.taskless/taskless.jsonstill shows"version": "2026-03-02"rules createfails with the same error — infinite loopCurrent
.taskless/taskless.json{ "version": "2026-03-02", "astGrepVersion": "0.38.0", "orgId": 32312867, "repositoryUrl": "https://github.com/taskless/taskless" }Root Cause
The
initcommand's scope is limited to skills/commands installation (.claude/skills/,.claude/commands/). It does not touch.taskless/taskless.json. The error message's remediation ("re-runtaskless init") is incorrect becauseinitcannot fix the problem.Possible Resolutions
initshould also migratetaskless.json— Whentaskless initdetects an outdated spec version, it should bump theversionfield (and apply any schema migrations). This makes the error message's suggestion actually work.Add a dedicated
taskless migrateortaskless upgradecommand — Separate skill installation from config migration. Update the error message to reference this command instead.Fix the error message — If
initis intentionally not supposed to touch config, the error message should provide the correct remediation.Scaffold updates via PR — For managed repos, Taskless could open a PR to update the config scaffold when breaking spec changes are introduced (similar to Dependabot/Renovate), preventing users from hitting this issue.
Workaround
Manually editing
.taskless/taskless.jsonto set"version": "2026-03-03"may unblock rule creation, but it's unclear if there are other schema changes between versions that need to be applied.