@raidiant/notifai 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,9 +6,10 @@ export { HARNESSES, type Harness } from './harnesses.js';
6
6
  * Claude Code's `settings.json` and Codex's hook files use the same shape —
7
7
  * `hooks` maps an event name to matcher groups, each holding command handlers
8
8
  * with an optional timeout — so one generator serves both. Only the file
9
- * location and the event set differ. Codex accepts that shape as `hooks.json`
10
- * or as inline `[hooks]` tables in the same layer's `config.toml`; one
11
- * representation per layer, never both.
9
+ * location and the event set differ. Codex still loads a leftover
10
+ * `hooks.json`, but that file is the legacy representation. We write inline
11
+ * `[hooks]` tables in the same layer's `config.toml`. One representation per
12
+ * layer, never both.
12
13
  *
13
14
  * Cursor's native format is flat and lower-camel-cased, while OpenCode's
14
15
  * extension point is a JavaScript plugin module. Each therefore has a bounded
@@ -110,8 +111,8 @@ export declare function settingsFile(harness: Harness, global: boolean, cwd: str
110
111
  * Where Codex looks for a project's hooks — the **main** repository, not the
111
112
  * working directory.
112
113
  *
113
- * Run from a linked git worktree, Codex reads `<main repo>/.codex/hooks.json`
114
- * and never looks at the worktree's own. Proven 2026-08-03 in an isolated
114
+ * Run from a linked git worktree, Codex reads `<main repo>/.codex/config.toml`
115
+ * (or a leftover `hooks.json`) and never looks at the worktree's own. Proven 2026-08-03 in an isolated
115
116
  * `CODEX_HOME`: with cwd set to a worktree, a handler at the main repo root
116
117
  * fired and an identical one at the worktree root did not; removing the main
117
118
  * one left nothing firing at all. Writing to cwd therefore produces a silent
@@ -128,7 +129,7 @@ export declare function codexProjectRoot(cwd: string): string;
128
129
  *
129
130
  * Codex splits the two halves of "which project am I in": it discovers the
130
131
  * project layer by walking up from cwd for a `.codex` directory, but resolves
131
- * `hooks.json` inside that layer against the main repository. In an ordinary
132
+ * the hook file inside that layer against the main repository. In an ordinary
132
133
  * checkout both land on the same directory and the split is invisible. In a
133
134
  * worktree they diverge, and writing only the main repository's file leaves it
134
135
  * unread — Codex never looks, because nothing at or above cwd told it there was
@@ -163,9 +164,11 @@ export interface CodexLayerInspection {
163
164
  /**
164
165
  * Which representation this Codex layer already uses.
165
166
  *
166
- * Codex loads `hooks.json` and inline `[hooks]` side by side, runs every
167
- * matching handler, and warns when both exist. `[hooks.state]` is the trust
168
- * store, not a hook definition, so it does not count as a representation.
167
+ * `hooks.json` is the legacy file. We write inline `[hooks]` in
168
+ * `config.toml` unless this layer already has someone else's hooks only in
169
+ * `hooks.json` — writing a second file would make Codex load both and run
170
+ * every matching handler. `[hooks.state]` is the trust store, not a hook
171
+ * definition, so it does not count as a representation.
169
172
  */
170
173
  export declare function inspectCodexLayer(paths: CodexLayerPaths): CodexLayerInspection;
171
174
  /** Every file in this layer Codex might already be reading hooks from. */
@@ -187,8 +187,8 @@ function assertNeverHarness(harness) {
187
187
  * Where Codex looks for a project's hooks — the **main** repository, not the
188
188
  * working directory.
189
189
  *
190
- * Run from a linked git worktree, Codex reads `<main repo>/.codex/hooks.json`
191
- * and never looks at the worktree's own. Proven 2026-08-03 in an isolated
190
+ * Run from a linked git worktree, Codex reads `<main repo>/.codex/config.toml`
191
+ * (or a leftover `hooks.json`) and never looks at the worktree's own. Proven 2026-08-03 in an isolated
192
192
  * `CODEX_HOME`: with cwd set to a worktree, a handler at the main repo root
193
193
  * fired and an identical one at the worktree root did not; removing the main
194
194
  * one left nothing firing at all. Writing to cwd therefore produces a silent
@@ -220,7 +220,7 @@ export function codexProjectRoot(cwd) {
220
220
  *
221
221
  * Codex splits the two halves of "which project am I in": it discovers the
222
222
  * project layer by walking up from cwd for a `.codex` directory, but resolves
223
- * `hooks.json` inside that layer against the main repository. In an ordinary
223
+ * the hook file inside that layer against the main repository. In an ordinary
224
224
  * checkout both land on the same directory and the split is invisible. In a
225
225
  * worktree they diverge, and writing only the main repository's file leaves it
226
226
  * unread — Codex never looks, because nothing at or above cwd told it there was
@@ -291,9 +291,11 @@ export function codexLayerPaths(global, cwd, env = process.env) {
291
291
  /**
292
292
  * Which representation this Codex layer already uses.
293
293
  *
294
- * Codex loads `hooks.json` and inline `[hooks]` side by side, runs every
295
- * matching handler, and warns when both exist. `[hooks.state]` is the trust
296
- * store, not a hook definition, so it does not count as a representation.
294
+ * `hooks.json` is the legacy file. We write inline `[hooks]` in
295
+ * `config.toml` unless this layer already has someone else's hooks only in
296
+ * `hooks.json` — writing a second file would make Codex load both and run
297
+ * every matching handler. `[hooks.state]` is the trust store, not a hook
298
+ * definition, so it does not count as a representation.
297
299
  */
298
300
  export function inspectCodexLayer(paths) {
299
301
  const jsonDocument = tryLoadSettings(paths.hooksJson);
@@ -302,27 +304,15 @@ export function inspectCodexLayer(paths) {
302
304
  const tomlEvents = hookEventNames(tomlDocument?.hooks);
303
305
  const jsonForeign = documentHasForeignHandlers(jsonDocument);
304
306
  const tomlForeign = documentHasForeignHandlers(tomlDocument);
305
- const jsonOurs = documentHasOurHandlers(jsonDocument);
306
- const tomlOurs = documentHasOurHandlers(tomlDocument);
307
307
  const dual = jsonEvents.length > 0 && tomlEvents.length > 0;
308
- let writeTarget = paths.hooksJson;
309
- if (tomlEvents.length > 0 && jsonEvents.length === 0)
310
- writeTarget = paths.configToml;
311
- else if (jsonEvents.length > 0 && tomlEvents.length === 0)
308
+ // Current representation. Stay on the legacy file only when that is
309
+ // already where someone else's hooks live and toml has none.
310
+ let writeTarget = paths.configToml;
311
+ if (jsonEvents.length > 0 && tomlEvents.length === 0 && jsonForeign) {
312
+ writeTarget = paths.hooksJson;
313
+ }
314
+ else if (dual && jsonForeign && !tomlForeign) {
312
315
  writeTarget = paths.hooksJson;
313
- else if (dual) {
314
- if (tomlForeign && !jsonForeign)
315
- writeTarget = paths.configToml;
316
- else if (jsonForeign && !tomlForeign)
317
- writeTarget = paths.hooksJson;
318
- else if (!jsonForeign && !tomlForeign)
319
- writeTarget = paths.hooksJson;
320
- else if (tomlOurs && !jsonOurs)
321
- writeTarget = paths.configToml;
322
- else if (jsonOurs && !tomlOurs)
323
- writeTarget = paths.hooksJson;
324
- else
325
- writeTarget = paths.hooksJson;
326
316
  }
327
317
  return {
328
318
  paths,
@@ -399,11 +389,6 @@ function documentHasForeignHandlers(document) {
399
389
  return false;
400
390
  return locateAllHandlers(document).some((handler) => !isNotifaiCommand(handler.command));
401
391
  }
402
- function documentHasOurHandlers(document) {
403
- if (document === null)
404
- return false;
405
- return locateHandlers(document).length > 0;
406
- }
407
392
  /** Best-effort detection so `hooks install` usually needs no flags. */
408
393
  /**
409
394
  * Harnesses this *project* shows evidence of, in the working directory only.
@@ -1 +1 @@
1
- {"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../src/install-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../src/install-hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raidiant/notifai",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "description": "Send native phone notifications from agents and local programs",
6
6
  "bin": {
@@ -172,7 +172,11 @@ function trustInstalledCodexHooks(cwd: string, env: NodeJS.ProcessEnv): void {
172
172
  )
173
173
  const codexHome = env['CODEX_HOME'] as string
174
174
  mkdirSync(codexHome, { recursive: true })
175
- writeFileSync(path.join(codexHome, 'config.toml'), sections.join('\n'))
175
+ const file = path.join(codexHome, 'config.toml')
176
+ // Trust lives in the same config.toml as inline [hooks]. Overwriting the
177
+ // file would delete the global handlers this helper is trying to trust.
178
+ const existing = existsSync(file) ? readFileSync(file, 'utf8').trimEnd() : ''
179
+ writeFileSync(file, [existing, ...sections].filter((block) => block.length > 0).join('\n') + '\n')
176
180
  }
177
181
 
178
182
  function makeDeps(io: CapturedIo, client: ApiClient): CommandDeps {
@@ -1178,7 +1182,7 @@ describe('Cursor hook commands', () => {
1178
1182
  it('installs native Cursor hooks with bounded chained answer continuations', () => {
1179
1183
  const cwd = mkdtempSync(path.join(os.tmpdir(), 'notifai-cursor-install-'))
1180
1184
  const io = new CapturedIo()
1181
- const deps = { ...makeDeps(io, {} as ApiClient), cwd }
1185
+ const deps = { ...makeDeps(io, {} as ApiClient), cwd, env: isolatedEnv(cwd) }
1182
1186
 
1183
1187
  expect(
1184
1188
  hooksInstallCommand(deps, { harness: 'cursor', execPath, scriptPath }),
@@ -1240,7 +1244,7 @@ describe('Cursor hook commands', () => {
1240
1244
  it('uninstalls only Notifai Cursor hooks and preserves foreign hooks', () => {
1241
1245
  const cwd = mkdtempSync(path.join(os.tmpdir(), 'notifai-cursor-uninstall-'))
1242
1246
  const io = new CapturedIo()
1243
- const deps = { ...makeDeps(io, {} as ApiClient), cwd }
1247
+ const deps = { ...makeDeps(io, {} as ApiClient), cwd, env: isolatedEnv(cwd) }
1244
1248
  expect(
1245
1249
  hooksInstallCommand(deps, { harness: 'cursor', execPath, scriptPath }),
1246
1250
  ).toBe(EXIT.ok)
@@ -1353,7 +1357,7 @@ describe('harness activation guidance', () => {
1353
1357
  it('does not require a Claude Code restart for project hook files', () => {
1354
1358
  const cwd = mkdtempSync(path.join(os.tmpdir(), 'notifai-claude-activation-'))
1355
1359
  const io = new CapturedIo()
1356
- const deps = { ...makeDeps(io, {} as ApiClient), cwd }
1360
+ const deps = { ...makeDeps(io, {} as ApiClient), cwd, env: isolatedEnv(cwd) }
1357
1361
 
1358
1362
  expect(
1359
1363
  hooksInstallCommand(deps, { harness: 'claude-code', execPath, scriptPath }),
@@ -1368,7 +1372,7 @@ describe('harness activation guidance', () => {
1368
1372
  it('does not invent a Codex hook trust gate', () => {
1369
1373
  const cwd = mkdtempSync(path.join(os.tmpdir(), 'notifai-codex-activation-'))
1370
1374
  const io = new CapturedIo()
1371
- const deps = { ...makeDeps(io, {} as ApiClient), cwd }
1375
+ const deps = { ...makeDeps(io, {} as ApiClient), cwd, env: isolatedEnv(cwd) }
1372
1376
 
1373
1377
  expect(hooksInstallCommand(deps, { harness: 'codex', execPath, scriptPath })).toBe(
1374
1378
  EXIT.ok,
@@ -1382,7 +1386,7 @@ describe('harness activation guidance', () => {
1382
1386
  it('names the installed harness in the close, never a different one', () => {
1383
1387
  const cwd = mkdtempSync(path.join(os.tmpdir(), 'notifai-cursor-close-'))
1384
1388
  const io = new CapturedIo()
1385
- const deps = { ...makeDeps(io, {} as ApiClient), cwd }
1389
+ const deps = { ...makeDeps(io, {} as ApiClient), cwd, env: isolatedEnv(cwd) }
1386
1390
 
1387
1391
  expect(hooksInstallCommand(deps, { harness: 'cursor', execPath, scriptPath })).toBe(EXIT.ok)
1388
1392
 
@@ -1557,10 +1561,11 @@ describe('stable hook installation', () => {
1557
1561
  ).toBe(EXIT.ok)
1558
1562
  const global = readFileSync(path.join(env.CLAUDE_CONFIG_DIR, 'settings.json'), 'utf8')
1559
1563
  expect(global).toBe(firstDefinition)
1564
+ expect(readFileSync(local, 'utf8')).not.toContain('--owner notifai')
1560
1565
 
1561
1566
  io.outLines = []
1562
1567
  await doctorCommand(deps, {})
1563
- expect(io.outLines.join('\n')).toMatch(/hooks \(duplicates\).*project or global routing/is)
1568
+ expect(io.outLines.join('\n')).not.toMatch(/hooks \(duplicates\)/)
1564
1569
 
1565
1570
  expect(hooksUninstallCommand(deps, { harness: 'claude-code' })).toBe(EXIT.ok)
1566
1571
  expect(existsSync(hookAdapterPath(deps.hookAdapterHome))).toBe(true)
@@ -1570,6 +1575,27 @@ describe('stable hook installation', () => {
1570
1575
  ),
1571
1576
  ).toHaveLength(1)
1572
1577
  })
1578
+
1579
+ it('does not add a project copy when global hooks already cover the machine', () => {
1580
+ const cwd = mkdtempSync(path.join(os.tmpdir(), 'notifai-hooks-global-enough-'))
1581
+ const io = new CapturedIo()
1582
+ const env = isolatedEnv(cwd)
1583
+ const deps = { ...makeDeps(io, {} as ApiClient), cwd, env }
1584
+ const execPath = process.execPath
1585
+ const scriptPath = fileURLToPath(import.meta.url)
1586
+
1587
+ expect(hooksInstallCommand(deps, { harness: 'codex', global: true, execPath, scriptPath })).toBe(
1588
+ EXIT.ok,
1589
+ )
1590
+ io.outLines = []
1591
+ expect(hooksInstallCommand(deps, { harness: 'codex', execPath, scriptPath })).toBe(EXIT.ok)
1592
+ expect(existsSync(path.join(cwd, '.codex', 'config.toml'))).toBe(false)
1593
+ expect(io.outLines.join('\n')).toMatch(/already cover this machine/)
1594
+ expect(io.outLines.join('\n')).toMatch(/uninstall --harness codex --global/)
1595
+ expect(
1596
+ findInstallations(cwd, env, deps.hookAdapterHome).filter((item) => item.harness === 'codex'),
1597
+ ).toEqual([expect.objectContaining({ global: true })])
1598
+ })
1573
1599
  })
1574
1600
 
1575
1601
  describe('projectSlugFrom', () => {
@@ -2466,7 +2492,8 @@ describe('init', () => {
2466
2492
  )
2467
2493
  expect(wired).toEqual(['claude-code', 'codex'])
2468
2494
  expect(existsSync(path.join(cwd, '.claude', 'settings.local.json'))).toBe(true)
2469
- expect(existsSync(path.join(cwd, '.codex', 'hooks.json'))).toBe(true)
2495
+ expect(existsSync(path.join(cwd, '.codex', 'config.toml'))).toBe(true)
2496
+ expect(existsSync(path.join(cwd, '.codex', 'hooks.json'))).toBe(false)
2470
2497
  expect(io.outLines.join('\n')).toContain('Installed claude-code hooks')
2471
2498
  expect(io.outLines.join('\n')).toContain('Installed codex hooks')
2472
2499
  })
@@ -2632,6 +2659,7 @@ describe('init', () => {
2632
2659
  ...makeDeps(io, client),
2633
2660
  cwd,
2634
2661
  env: {
2662
+ HOME: path.join(cwd, 'home'),
2635
2663
  XDG_CONFIG_HOME: path.join(cwd, 'config'),
2636
2664
  XDG_STATE_HOME: path.join(cwd, 'state'),
2637
2665
  CODEX_HOME: path.join(cwd, 'codex'),
@@ -3685,9 +3713,12 @@ describe('asking before the hooks have ever run', () => {
3685
3713
  }
3686
3714
  const deps = { ...makeDeps(io, {} as ApiClient), cwd, env, now: () => 42 }
3687
3715
  expect(hooksInstallCommand(deps, { harness: 'codex', execPath, scriptPath })).toBe(EXIT.ok)
3688
- expect(
3689
- hooksInstallCommand(deps, { harness: 'codex', global: true, execPath, scriptPath }),
3690
- ).toBe(EXIT.ok)
3716
+ applyPlan(path.join(env.CODEX_HOME, 'config.toml'), {
3717
+ hooks: buildHookConfig({
3718
+ adapterPath: hookAdapterPath(deps.hookAdapterHome),
3719
+ harness: 'codex',
3720
+ }),
3721
+ })
3691
3722
  trustInstalledCodexHooks(cwd, env)
3692
3723
  writeSessionState('codex-current-thread', env, { last_prompt_at: 42, last_stop_at: 41 })
3693
3724
  writeProjectSession(cwd, env, 'codex-current-thread', 42, 'codex')
@@ -4050,7 +4081,7 @@ describe('asking before the hooks have ever run', () => {
4050
4081
  const deps = {
4051
4082
  ...makeDeps(io, {} as ApiClient),
4052
4083
  cwd,
4053
- env: { XDG_STATE_HOME: path.join(cwd, 'state') },
4084
+ env: isolatedEnv(cwd),
4054
4085
  }
4055
4086
 
4056
4087
  expect(hooksInstallCommand(deps, { harness: 'cursor', execPath, scriptPath })).toBe(EXIT.ok)
@@ -4087,7 +4118,12 @@ describe('asking before the hooks have ever run', () => {
4087
4118
  const deps = {
4088
4119
  ...makeDeps(io, {} as ApiClient),
4089
4120
  cwd,
4090
- env: { XDG_STATE_HOME: cwd, CODEX_HOME: path.join(cwd, 'none'), CLAUDE_CONFIG_DIR: path.join(cwd, 'none') },
4121
+ env: {
4122
+ HOME: path.join(cwd, 'home'),
4123
+ XDG_STATE_HOME: cwd,
4124
+ CODEX_HOME: path.join(cwd, 'none'),
4125
+ CLAUDE_CONFIG_DIR: path.join(cwd, 'none'),
4126
+ },
4091
4127
  }
4092
4128
 
4093
4129
  expect(askCommand(deps, 'Ship it?', {})).toBe(EXIT.usage)
package/src/commands.ts CHANGED
@@ -2214,7 +2214,24 @@ export function hooksInstallCommand(deps: CommandDeps, flags: HooksInstallFlags)
2214
2214
  deps.io.err(`Could not prepare the stable hook adapter: ${String(err)}`)
2215
2215
  return EXIT.failed
2216
2216
  }
2217
- const file = settingsFile(harness, flags.global ?? false, deps.cwd, deps.env)
2217
+ const wantGlobal = flags.global === true
2218
+ const existing = findInstallations(deps.cwd, deps.env, deps.hookAdapterHome).filter(
2219
+ (installation) => installation.harness === harness,
2220
+ )
2221
+ const otherScope = existing.filter((installation) => installation.global !== wantGlobal)
2222
+ if (!wantGlobal && otherScope.some((installation) => installation.global)) {
2223
+ const globalFile = otherScope.find((installation) => installation.global)?.file
2224
+ deps.io.out(
2225
+ `${HARNESS_LABELS[harness]} hooks already cover this machine (${globalFile}). This project does not need its own copy. To wire only this project: notifai hooks uninstall --harness ${harness} --global && notifai hooks install --harness ${harness}`,
2226
+ )
2227
+ return EXIT.ok
2228
+ }
2229
+ if (wantGlobal && otherScope.some((installation) => !installation.global)) {
2230
+ if (hooksUninstallCommand(deps, { ...flags, global: false, harness }) !== EXIT.ok) {
2231
+ return EXIT.failed
2232
+ }
2233
+ }
2234
+ const file = settingsFile(harness, wantGlobal, deps.cwd, deps.env)
2218
2235
 
2219
2236
  // OpenCode's adapter is a generated plugin module rather than a handler
2220
2237
  // merged into a settings document, so it owns the whole file.
@@ -226,13 +226,33 @@ describe('settings locations', () => {
226
226
  )
227
227
  })
228
228
 
229
- it('uses hooks.json for Codex', () => {
230
- expect(settingsFile('codex', false, '/repo', {})).toBe('/repo/.codex/hooks.json')
229
+ it('uses config.toml for Codex, not the legacy hooks.json', () => {
230
+ expect(settingsFile('codex', false, '/repo', {})).toBe('/repo/.codex/config.toml')
231
231
  expect(settingsFile('codex', true, '/repo', {})).toBe(
232
- path.join(os.homedir(), '.codex', 'hooks.json'),
232
+ path.join(os.homedir(), '.codex', 'config.toml'),
233
233
  )
234
234
  })
235
235
 
236
+ it('migrates a leftover Notifai-only hooks.json onto config.toml', () => {
237
+ const repo = mkdtempSync(path.join(os.tmpdir(), 'notifai-codex-migrate-json-'))
238
+ mkdirSync(path.join(repo, '.codex'), { recursive: true })
239
+ applyPlan(path.join(repo, '.codex', 'hooks.json'), { hooks: ours() })
240
+
241
+ expect(settingsFile('codex', false, repo, {})).toBe(path.join(repo, '.codex', 'config.toml'))
242
+ })
243
+
244
+ it('stays on hooks.json when that file already holds someone else\'s hooks', () => {
245
+ const repo = mkdtempSync(path.join(os.tmpdir(), 'notifai-codex-foreign-json-'))
246
+ mkdirSync(path.join(repo, '.codex'), { recursive: true })
247
+ applyPlan(path.join(repo, '.codex', 'hooks.json'), {
248
+ hooks: {
249
+ Stop: [{ hooks: [{ type: 'command', command: 'gdh-stop' }] }],
250
+ },
251
+ })
252
+
253
+ expect(settingsFile('codex', false, repo, {})).toBe(path.join(repo, '.codex', 'hooks.json'))
254
+ })
255
+
236
256
  it('writes Codex hooks into an existing inline [hooks] instead of inventing hooks.json', () => {
237
257
  const repo = mkdtempSync(path.join(os.tmpdir(), 'notifai-codex-toml-layer-'))
238
258
  mkdirSync(path.join(repo, '.codex'), { recursive: true })
@@ -268,7 +288,7 @@ describe('settings locations', () => {
268
288
  )
269
289
 
270
290
  expect(settingsFile('codex', true, '/repo', { CODEX_HOME: home })).toBe(
271
- path.join(home, 'hooks.json'),
291
+ path.join(home, 'config.toml'),
272
292
  )
273
293
  })
274
294
 
@@ -310,7 +330,7 @@ describe('a Codex install run inside a git worktree', () => {
310
330
  it('targets the main repository, which is the file Codex actually reads', () => {
311
331
  const { main, worktree } = repoWithWorktree()
312
332
 
313
- expect(settingsFile('codex', false, worktree, {})).toBe(path.join(main, '.codex', 'hooks.json'))
333
+ expect(settingsFile('codex', false, worktree, {})).toBe(path.join(main, '.codex', 'config.toml'))
314
334
  expect(codexProjectRoot(worktree)).toBe(main)
315
335
  })
316
336
 
@@ -379,14 +399,14 @@ describe('a Codex install run inside a git worktree', () => {
379
399
  // Orca points CODEX_HOME at a per-account home; writing to ~/.codex there
380
400
  // produced hooks Codex never loaded, and nothing reported a problem.
381
401
  expect(settingsFile('codex', true, '/repo', { CODEX_HOME: '/managed/codex' })).toBe(
382
- '/managed/codex/hooks.json',
402
+ '/managed/codex/config.toml',
383
403
  )
384
404
  expect(settingsFile('claude-code', true, '/repo', { CLAUDE_CONFIG_DIR: '/managed/claude' })).toBe(
385
405
  '/managed/claude/settings.json',
386
406
  )
387
407
  // An empty value is not a relocation.
388
408
  expect(settingsFile('codex', true, '/repo', { CODEX_HOME: '' })).toBe(
389
- path.join(os.homedir(), '.codex', 'hooks.json'),
409
+ path.join(os.homedir(), '.codex', 'config.toml'),
390
410
  )
391
411
  })
392
412
  })
@@ -34,9 +34,10 @@ const OPENCODE_EVENTS = [
34
34
  * Claude Code's `settings.json` and Codex's hook files use the same shape —
35
35
  * `hooks` maps an event name to matcher groups, each holding command handlers
36
36
  * with an optional timeout — so one generator serves both. Only the file
37
- * location and the event set differ. Codex accepts that shape as `hooks.json`
38
- * or as inline `[hooks]` tables in the same layer's `config.toml`; one
39
- * representation per layer, never both.
37
+ * location and the event set differ. Codex still loads a leftover
38
+ * `hooks.json`, but that file is the legacy representation. We write inline
39
+ * `[hooks]` tables in the same layer's `config.toml`. One representation per
40
+ * layer, never both.
40
41
  *
41
42
  * Cursor's native format is flat and lower-camel-cased, while OpenCode's
42
43
  * extension point is a JavaScript plugin module. Each therefore has a bounded
@@ -277,8 +278,8 @@ function assertNeverHarness(harness: never): never {
277
278
  * Where Codex looks for a project's hooks — the **main** repository, not the
278
279
  * working directory.
279
280
  *
280
- * Run from a linked git worktree, Codex reads `<main repo>/.codex/hooks.json`
281
- * and never looks at the worktree's own. Proven 2026-08-03 in an isolated
281
+ * Run from a linked git worktree, Codex reads `<main repo>/.codex/config.toml`
282
+ * (or a leftover `hooks.json`) and never looks at the worktree's own. Proven 2026-08-03 in an isolated
282
283
  * `CODEX_HOME`: with cwd set to a worktree, a handler at the main repo root
283
284
  * fired and an identical one at the worktree root did not; removing the main
284
285
  * one left nothing firing at all. Writing to cwd therefore produces a silent
@@ -308,7 +309,7 @@ export function codexProjectRoot(cwd: string): string {
308
309
  *
309
310
  * Codex splits the two halves of "which project am I in": it discovers the
310
311
  * project layer by walking up from cwd for a `.codex` directory, but resolves
311
- * `hooks.json` inside that layer against the main repository. In an ordinary
312
+ * the hook file inside that layer against the main repository. In an ordinary
312
313
  * checkout both land on the same directory and the split is invisible. In a
313
314
  * worktree they diverge, and writing only the main repository's file leaves it
314
315
  * unread — Codex never looks, because nothing at or above cwd told it there was
@@ -399,9 +400,11 @@ export interface CodexLayerInspection {
399
400
  /**
400
401
  * Which representation this Codex layer already uses.
401
402
  *
402
- * Codex loads `hooks.json` and inline `[hooks]` side by side, runs every
403
- * matching handler, and warns when both exist. `[hooks.state]` is the trust
404
- * store, not a hook definition, so it does not count as a representation.
403
+ * `hooks.json` is the legacy file. We write inline `[hooks]` in
404
+ * `config.toml` unless this layer already has someone else's hooks only in
405
+ * `hooks.json` — writing a second file would make Codex load both and run
406
+ * every matching handler. `[hooks.state]` is the trust store, not a hook
407
+ * definition, so it does not count as a representation.
405
408
  */
406
409
  export function inspectCodexLayer(paths: CodexLayerPaths): CodexLayerInspection {
407
410
  const jsonDocument = tryLoadSettings(paths.hooksJson)
@@ -410,19 +413,14 @@ export function inspectCodexLayer(paths: CodexLayerPaths): CodexLayerInspection
410
413
  const tomlEvents = hookEventNames(tomlDocument?.hooks)
411
414
  const jsonForeign = documentHasForeignHandlers(jsonDocument)
412
415
  const tomlForeign = documentHasForeignHandlers(tomlDocument)
413
- const jsonOurs = documentHasOurHandlers(jsonDocument)
414
- const tomlOurs = documentHasOurHandlers(tomlDocument)
415
416
  const dual = jsonEvents.length > 0 && tomlEvents.length > 0
416
- let writeTarget = paths.hooksJson
417
- if (tomlEvents.length > 0 && jsonEvents.length === 0) writeTarget = paths.configToml
418
- else if (jsonEvents.length > 0 && tomlEvents.length === 0) writeTarget = paths.hooksJson
419
- else if (dual) {
420
- if (tomlForeign && !jsonForeign) writeTarget = paths.configToml
421
- else if (jsonForeign && !tomlForeign) writeTarget = paths.hooksJson
422
- else if (!jsonForeign && !tomlForeign) writeTarget = paths.hooksJson
423
- else if (tomlOurs && !jsonOurs) writeTarget = paths.configToml
424
- else if (jsonOurs && !tomlOurs) writeTarget = paths.hooksJson
425
- else writeTarget = paths.hooksJson
417
+ // Current representation. Stay on the legacy file only when that is
418
+ // already where someone else's hooks live and toml has none.
419
+ let writeTarget = paths.configToml
420
+ if (jsonEvents.length > 0 && tomlEvents.length === 0 && jsonForeign) {
421
+ writeTarget = paths.hooksJson
422
+ } else if (dual && jsonForeign && !tomlForeign) {
423
+ writeTarget = paths.hooksJson
426
424
  }
427
425
  return {
428
426
  paths,
@@ -512,11 +510,6 @@ function documentHasForeignHandlers(document: SettingsDocument | null): boolean
512
510
  return locateAllHandlers(document).some((handler) => !isNotifaiCommand(handler.command))
513
511
  }
514
512
 
515
- function documentHasOurHandlers(document: SettingsDocument | null): boolean {
516
- if (document === null) return false
517
- return locateHandlers(document).length > 0
518
- }
519
-
520
513
  /** Best-effort detection so `hooks install` usually needs no flags. */
521
514
  /**
522
515
  * Harnesses this *project* shows evidence of, in the working directory only.