Control the macOS Terminal app with Node.js
npm install mac-terminalgetTerminalDefaultProfilegetTerminalProfilesisTerminalRunningsetTerminalDefaultProfilesetTerminalProfile
Get the default Terminal profile
function getTerminalDefaultProfile(): Promise<string>;import {getTerminalDefaultProfile} from 'mac-terminal';
await getTerminalDefaultProfile(); // 'Clear Dark'Get the list of installed Terminal profiles
function getTerminalProfiles(): Promise<string[]>;import {getTerminalProfiles} from 'mac-terminal';
await getTerminalProfiles(); // ['Basic', 'Clear Dark', 'Clear Light', ...]Determine whether Terminal is currently running
function isTerminalRunning(): Promise<boolean>;import {isTerminalRunning} from 'mac-terminal';
await isTerminalRunning(); // trueUpdate the default Terminal profile
function setTerminalDefaultProfile(profile: string): Promise<void>;import {setTerminalDefaultProfile} from 'mac-terminal';
await setTerminalDefaultProfile('Clear Dark');Update the Terminal profile for all open tabs and windows, and optionally update the default profile at the same time
function setTerminalProfile({
profile: string,
setDefault?: boolean = false
}): Promise<void>;import {setTerminalProfile} from 'mac-terminal';
await setTerminalProfile({profile: 'Clear Dark'});
await setTerminalProfile({
profile: 'Clear Dark',
setDefault: true, // Also set as the default profile
});- auto-terminal-profile – Automatically switch Terminal profiles when macOS dark/light mode changes