Skip to content

[Bug]: Shared /Applications launcher breaks on multi-account Macs #55

Description

@rcmadden

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

TritonAI Harness desktop install

Steps to reproduce

Environment

  • macOS, one admin account + one standard (non-admin) account, both running TritonAI Harness
  • Installer version: 0.3.0

Issue 1 — shared launcher stub hardcodes the installing account's home directory

/Applications/TritonAI Harness.app's launcher script is generated by
buildMacLauncherScript(), using os.homedir() of whichever account ran the
installer, with no per-account resolution. Every path gets baked in literally
(e.g. /Users/<admin-account>/.agents/ucsd/...).

Effect: after installing as the admin account, any other local account
that opens the same /Applications/TritonAI Harness.app launches paths
belonging to the admin's home directory — silently misdirected to the wrong
user's data, not just a crash.

Suggested fix: emit $HOME-relative paths in the generated script instead
of the installing user's literal home directory.

Issue 2 — installer fails hard on standard (non-admin) accounts

Updating from a standard account fails at the last step:

EACCES: permission denied, mkdtemp '/Applications/.tritonai-harness-launcher-stage-XXXXXX'
at Object.mkdtempSync (node:fs:3038:18)
at writeMacAppLauncher (.../t3code-desktop.js:292:26)
at installMacDesktop (.../t3code-desktop.js:103:26)

/Applications is admin-only on macOS, so this can never succeed under a
standard account. Everything before this step succeeds, though — the
per-user runtime, Codex backend, and app bundle at
~/.agents/ucsd/apps/TritonAI Harness.app all install correctly. Only the
final, optional shared-stub write needs admin rights, yet its failure is
reported as a fatal "Setup paused" error even though the real install already
succeeded.
Possible fix: treat the shared /Applications write as best-effort —
catch EACCES for that step specifically, warn, and still report overall
success. Optionally prompt for admin elevation just for that step.

Combined note

Even with an elevation prompt for issue 2, the shared stub will still only
reflect whichever account most recently ran the installer unless issue 1's
fix is also adopted — every future update from either account re-breaks the
other otherwise.

Expected behavior

Installing or updating TritonAI Harness from any local macOS account on a shared Mac should work correctly for whichever account launches the app afterward — regardless of which account ran the installer, and regardless of whether that account is an admin or a standard (non-admin) user. A failure in an optional/cosmetic step (like refreshing the shared /Applications shortcut) shouldn't block or fail the overall install when the actual per-user app already installed successfully.

Actual behavior

  1. The shared launcher at /Applications/TritonAI Harness.app hardcodes the home directory of whichever account ran the installer. Any other local account that opens the same /Applications/TritonAI Harness.app gets silently routed to that account's files instead of its own — not an error, just wrong data.
  2. Running the installer from a standard (non-admin) account always fails at the last step with EACCES: permission denied, mkdtemp '/Applications/.tritonai-harness-launcher-stage-XXXXXX', since /Applications is admin-only on macOS. This is shown as a fatal "Setup paused" error, even though the real per-user app and Codex runtime installed successfully immediately before this step.

Impact

Major degradation or frequent failure

Version or commit

v0.3.0

Environment

MacOSX 26.5.2

Logs or stack traces

Provider turn start failed: provider adapter process error:

ProviderAdapterProcessError: Provider adapter process error (codex) for thread 27432c76-bd91-4c1b-976f-eab6e9edaa23: Codex App Server process exited with code 1
    at file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:71715:74
    at file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/node_modules/effect/dist/internal/effect.js:1310:96
    at ~effect/Utils/internal (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/node_modules/effect/dist/Utils.js:79:12)
    at startSession (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85435:59)
    at startSession (definition) (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:65431:30)
    at ensureSessionForThread (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85515:10)
    at ensureSessionForThread (definition) (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85372:40)
    at processTurnStartRequested (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85774:12)
    at processTurnStartRequested (definition) (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85601:43)
    at processDomainEvent (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85790:46)
    at processDomainEvent (definition) (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:85758:36) {
  [cause]: CodexAppServerProcessExitedError: Codex App Server process exited with code 1
      at Object.onSuccess (file:///Users/standarduseacct/.agents/ucsd/apps/TritonAI%20Harness.app/Contents/Resources/app.asar/apps/server/dist/bin.mjs:45342:23)
}









installer-20260723T033413Z.log
[2026-07-23T03:34:13.150Z] [start] Installer diagnostics started
[2026-07-23T03:34:13.334Z] [prepare] Verified 1 managed Harness plugin package from pinned commit 993053021b83513e88061411faf5659240d3ee41.
[2026-07-23T03:34:13.334Z] [prepare] Creating UCSD agent folders...
[2026-07-23T03:34:13.339Z] [prepare] Installed 1 managed secure skill; removed 0 previously managed skills.
[2026-07-23T03:34:13.340Z] [prepare] Checking installer prerequisites...
[2026-07-23T03:34:13.340Z] [prepare] Using bundled Node.js runtime at /Users/standarduseracct/.agents/ucsd/runtime/node/node-v22.22.2-darwin-arm64
[2026-07-23T03:34:13.340Z] [connect] Checking TritonAI connection...
[2026-07-23T03:34:14.969Z] [connect] External model access verified.
[2026-07-23T03:34:14.969Z] [connect] TritonAI connection verified.
[2026-07-23T03:34:14.970Z] [connect] Saving TritonAI access key environment...
[2026-07-23T03:34:14.976Z] [connect] Saved private TritonAI Harness environment at /Users/standarduseracct/.agents/ucsd/env
[2026-07-23T03:34:15.217Z] [tools] Found managed Codex 0.144.3; using it for TritonAI Harness.
[2026-07-23T03:34:15.217Z] [tools] Pinned managed Codex to the managed Node.js runtime.
[2026-07-23T03:34:15.359Z] [tools] Verifying TritonAI Codex backend...
[2026-07-23T03:34:15.359Z] [tools] $ /Users/standarduseracct/.agents/ucsd/runtime/codex/openai-codex-0.144.3/bin/codex --version
[2026-07-23T03:34:15.406Z] [tools] codex-cli 0.144.3
[2026-07-23T03:34:15.408Z] [tools] Configuring TritonAI Harness for UCSD routing...
[2026-07-23T03:34:15.413Z] [tools] Applying TritonAI Harness defaults...
[2026-07-23T03:34:15.413Z] [tools] $ /Users/standarduseracct/.agents/ucsd/runtime/node/node-v22.22.2-darwin-arm64/bin/node /Users/standarduseracct/.agents/ucsd/bin/t3code-ucsd-defaults.js
[2026-07-23T03:34:15.446Z] [tools] (node:60135) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[2026-07-23T03:34:15.450Z] [shortcut] Installing TritonAI Harness desktop app...
[2026-07-23T03:34:15.612Z] [shortcut] Installing TritonAI Harness from bundled image at /Volumes/Double-click to Install/TritonAI Installer.app/Contents/Resources/vendor/t3code-desktop/mac-arm64/TritonAI-Harness-0.3.0-arm64.dmg
[2026-07-23T03:34:15.612Z] [shortcut] Using signed app-bundled TritonAI Harness image; validating with hdiutil before install.
[2026-07-23T03:34:15.612Z] [shortcut] $ hdiutil verify /Volumes/Double-click to Install/TritonAI Installer.app/Contents/Resources/vendor/t3code-desktop/mac-arm64/TritonAI-Harness-0.3.0-arm64.dmg
[2026-07-23T03:34:15.621Z] [shortcut] Checksumming Protective Master Boot Record (MBR : 0)…
[2026-07-23T03:34:15.621Z] [shortcut] Protective Master Boot Record (MBR :: verified   CRC32 $F7A82429
Checksumming GPT Header (Primary GPT Header : 1)…
[2026-07-23T03:34:16.005Z] [shortcut]  GPT Header (Primary GPT Header : 1): verified   CRC32 $68C8C20F
Checksumming GPT Partition Data (Primary GPT Table : 2)…
[2026-07-23T03:34:16.006Z] [shortcut] GPT Partition Data (Primary GPT Tabl: verified   CRC32 $99902BF6
Checksumming  (Apple_Free : 3)…
[2026-07-23T03:34:17.004Z] [shortcut]                     (Apple_Free : 3): verified   CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
[2026-07-23T03:34:17.656Z] [shortcut]           disk image (Apple_HFS : 4): verified   CRC32 $27A0C103
Checksumming  (Apple_Free : 5)…
[2026-07-23T03:34:18.005Z] [shortcut]                     (Apple_Free : 5): verified   CRC32 $00000000
Checksumming GPT Partition Data (Backup GPT Table : 6)…
[2026-07-23T03:34:18.006Z] [shortcut] GPT Partition Data (Backup GPT Table: verified   CRC32 $99902BF6
Checksumming GPT Header (Backup GPT Header : 7)…
[2026-07-23T03:34:19.005Z] [shortcut]   GPT Header (Backup GPT Header : 7): verified   CRC32 $2663CC87
[2026-07-23T03:34:19.006Z] [shortcut] verified   CRC32 $5A7C8B30
[2026-07-23T03:34:19.007Z] [shortcut] hdiutil: verify: checksum of "/Volumes/Double-click to Install/TritonAI Installer.app/Contents/Resources/vendor/t3code-desktop/mac-arm64/TritonAI-Harness-0.3.0-arm64.dmg" is VALID
[2026-07-23T03:34:19.009Z] [shortcut] Verified TritonAI Harness installer image.
[2026-07-23T03:34:19.010Z] [shortcut] $ hdiutil attach /Volumes/Double-click to Install/TritonAI Installer.app/Contents/Resources/vendor/t3code-desktop/mac-arm64/TritonAI-Harness-0.3.0-arm64.dmg -nobrowse -readonly -mountpoint /var/folders/q4/m_zg_p3d1svg3kpq_wjln4qh0000gq/T/t3code-desktop-UeC34S
[2026-07-23T03:34:19.081Z] [shortcut] Checksumming Protective Master Boot Record (MBR : 0)…
[2026-07-23T03:34:19.082Z] [shortcut] Protective Master Boot Record (MBR :: verified   CRC32 $F7A82429
Checksumming GPT Header (Primary GPT Header : 1)…
[2026-07-23T03:34:20.006Z] [shortcut]  GPT Header (Primary GPT Header : 1): verified   CRC32 $68C8C20F
[2026-07-23T03:34:20.007Z] [shortcut] Checksumming GPT Partition Data (Primary GPT Table : 2)…
[2026-07-23T03:34:20.007Z] [shortcut] GPT Partition Data (Primary GPT Tabl: verified   CRC32 $99902BF6
Checksumming  (Apple_Free : 3)…
[2026-07-23T03:34:21.006Z] [shortcut]                     (Apple_Free : 3): verified   CRC32 $00000000
[2026-07-23T03:34:21.007Z] [shortcut] Checksumming disk image (Apple_HFS : 4)…
[2026-07-23T03:34:21.661Z] [shortcut]           disk image (Apple_HFS : 4): verified   CRC32 $27A0C103
[2026-07-23T03:34:21.661Z] [shortcut] Checksumming  (Apple_Free : 5)…
[2026-07-23T03:34:22.006Z] [shortcut]                     (Apple_Free : 5): verified   CRC32 $00000000
[2026-07-23T03:34:22.007Z] [shortcut] Checksumming GPT Partition Data (Backup GPT Table : 6)…
[2026-07-23T03:34:22.007Z] [shortcut] GPT Partition Data (Backup GPT Table: verified   CRC32 $99902BF6
[2026-07-23T03:34:22.008Z] [shortcut] Checksumming GPT Header (Backup GPT Header : 7)…
[2026-07-23T03:34:23.006Z] [shortcut]   GPT Header (Backup GPT Header : 7): verified   CRC32 $2663CC87
[2026-07-23T03:34:23.007Z] [shortcut] verified   CRC32 $5A7C8B30
[2026-07-23T03:34:24.200Z] [shortcut] /dev/disk5          	GUID_partition_scheme          	
/dev/disk5s1        	Apple_HFS                      	/private/var/folders/q4/m_zg_p3d1svg3kpq_wjln4qh0000gq/T/t3code-desktop-UeC34S
[2026-07-23T03:34:24.201Z] [shortcut] Mounted TritonAI Harness installer image.
[2026-07-23T03:34:24.203Z] [shortcut] $ ditto /var/folders/q4/m_zg_p3d1svg3kpq_wjln4qh0000gq/T/t3code-desktop-UeC34S/TritonAI Harness.app /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app
[2026-07-23T03:34:38.248Z] [shortcut] Copied TritonAI Harness app to staging.
[2026-07-23T03:34:38.249Z] [shortcut] $ /usr/bin/plutil -extract CFBundleIdentifier raw -o - /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Info.plist
[2026-07-23T03:34:38.253Z] [shortcut] edu.ucsd.tritonai.harness
[2026-07-23T03:34:38.253Z] [shortcut] $ /usr/bin/codesign --verify --deep --strict --verbose=2 /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app
[2026-07-23T03:34:40.953Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
[2026-07-23T03:34:40.954Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (GPU).app
[2026-07-23T03:34:40.954Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Plugin).app
[2026-07-23T03:34:40.954Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (GPU).app
[2026-07-23T03:34:40.954Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
[2026-07-23T03:34:40.955Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Plugin).app
[2026-07-23T03:34:40.955Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Renderer).app
[2026-07-23T03:34:40.955Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
[2026-07-23T03:34:40.955Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper.app
[2026-07-23T03:34:40.956Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Renderer).app
[2026-07-23T03:34:40.956Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
[2026-07-23T03:34:40.956Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/ReactiveObjC.framework/Versions/Current/.
[2026-07-23T03:34:40.956Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper.app
[2026-07-23T03:34:40.956Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/ReactiveObjC.framework/Versions/Current/.
[2026-07-23T03:34:41.332Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
[2026-07-23T03:34:41.378Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Helpers/chrome_crashpad_handler
[2026-07-23T03:34:41.378Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Helpers/chrome_crashpad_handler
--validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
[2026-07-23T03:34:41.378Z] [shortcut] /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app: valid on disk
[2026-07-23T03:34:41.378Z] [shortcut] /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app: satisfies its Designated Requirement
[2026-07-23T03:34:41.395Z] [shortcut] $ /usr/bin/codesign --verify --strict --verbose=2 -R =anchor apple generic and identifier "edu.ucsd.tritonai.harness" and certificate leaf[subject.OU] = "DTZW32QN7F" /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app
[2026-07-23T03:34:44.112Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Plugin).app
--validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Plugin).app
[2026-07-23T03:34:44.112Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/ReactiveObjC.framework/Versions/Current/.
--validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/ReactiveObjC.framework/Versions/Current/.
[2026-07-23T03:34:44.113Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Renderer).app
[2026-07-23T03:34:44.113Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (Renderer).app
[2026-07-23T03:34:44.113Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (GPU).app
[2026-07-23T03:34:44.113Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper (GPU).app
[2026-07-23T03:34:44.113Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper.app
[2026-07-23T03:34:44.113Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/TritonAI Harness Helper.app
[2026-07-23T03:34:44.113Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
[2026-07-23T03:34:44.114Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
[2026-07-23T03:34:44.114Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
[2026-07-23T03:34:44.114Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
[2026-07-23T03:34:44.114Z] [shortcut] --prepared:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
[2026-07-23T03:34:44.114Z] [shortcut] --validated:/Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
[2026-07-23T03:34:44.114Z] [shortcut] /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app: valid on disk
[2026-07-23T03:34:44.114Z] [shortcut] /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app: satisfies its Designated Requirement
[2026-07-23T03:34:44.114Z] [shortcut] /Users/standarduseracct/.agents/ucsd/apps/.tritonai-harness-stage-zCQkV2/TritonAI Harness.app: explicit requirement satisfied
[2026-07-23T03:34:44.132Z] [shortcut] Verified staged TritonAI Harness app.
[2026-07-23T03:34:44.132Z] [shortcut] Stopping any running TritonAI Harness app before upgrading it...
[2026-07-23T03:34:44.132Z] [shortcut] $ /usr/bin/osascript -l JavaScript -e 
ObjC.import("AppKit");
const running = () => $.NSRunningApplication
  .runningApplicationsWithBundleIdentifier("edu.ucsd.tritonai.harness").js;
for (const app of running()) app.terminate;
for (let attempt = 0; attempt < 75 && running().length; attempt += 1) {
  $.NSThread.sleepForTimeInterval(0.2);
}
if (running().length) throw new Error("TritonAI Harness is still running");

[2026-07-23T03:34:44.177Z] [shortcut] Installed TritonAI Harness app into its managed location.
[2026-07-23T03:34:45.964Z] [shortcut] Closing TritonAI Harness installer image.
[2026-07-23T03:34:45.964Z] [shortcut] $ hdiutil detach /var/folders/q4/m_zg_p3d1svg3kpq_wjln4qh0000gq/T/t3code-desktop-UeC34S
[2026-07-23T03:34:46.073Z] [shortcut] "disk5" ejected.
[2026-07-23T03:34:46.073Z] [shortcut] Closed TritonAI Harness installer image.

Workaround

Until fixed upstream, manually patch the shared launcher after every install/update run from the admin account:

  1. Open /Applications/TritonAI Harness.app/Contents/MacOS/TritonAI Harness.
  2. Back up the file.
  3. Replace every literal /Users/<installing-account> in the script with $HOME.
  4. Verify it's still valid shell: sh -n "/Applications/TritonAI Harness.app/Contents/MacOS/TritonAI Harness".

This makes the shared stub resolve paths at runtime for whichever account launches it, instead of whichever account last ran the installer. Confirmed working across both an admin and a standard account.

For updating a standard (non-admin) account directly: the "Setup paused" EACCES error at the end of install can be safely dismissed — the actual per-user app and Codex runtime install already completed successfully by that point; only the optional shared-stub write failed.

reapply-home-patch.txt

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    automation candidateMay be suitable for automation after approval or clarification.bugSomething is broken or behaving incorrectly.needs decisionNeeds a maintainer decision or manual follow-up.readyScoped and ready for implementation.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions