From 4b0ae5180dbdfcf7259174cb598fcf5d7819094b Mon Sep 17 00:00:00 2001 From: Grimmer Kang Date: Fri, 20 Mar 2026 04:15:44 +0800 Subject: [PATCH] fix: read working directory from panelDirectories instead of TerminalPanel TerminalPanel.directory is never updated (updateDirectory() is never called anywhere). Workspace.panelDirectories is kept up to date via updatePanelDirectory() from OSC 7 / shell integration. Before: working directory always returns "" After: working directory returns correct cwd (e.g. "/Users/grimmer") Co-Authored-By: Claude Opus 4.6 (1M context) --- Sources/AppleScriptSupport.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Sources/AppleScriptSupport.swift b/Sources/AppleScriptSupport.swift index 2ede72cb..b90db00a 100644 --- a/Sources/AppleScriptSupport.swift +++ b/Sources/AppleScriptSupport.swift @@ -538,7 +538,10 @@ final class ScriptTerminal: NSObject { @objc(workingDirectory) var workingDirectory: String { guard NSApp.isAppleScriptEnabled else { return "" } - return terminal?.directory ?? "" + // TerminalPanel.directory is never updated (updateDirectory is never called). + // Read from Workspace.panelDirectories instead, which is kept up to date + // via updatePanelDirectory() from OSC 7 / shell integration. + return workspace?.panelDirectories[terminalId] ?? terminal?.directory ?? "" } func input(text: String) -> Bool {