AI CLI SchedulerSchedule your AI CLI. See what actually finished.
English | 日本語 VS Code 1.108+ · English / 日本語 · Version 0.2.0 Features | Getting started | Language support | Development A separate VS Code extension for scheduling coding agents through your usual terminal environment. Inspired by Copilot Scheduler, but observes command completion rather than treating a submitted prompt as success. Features
Install the extension as Getting startedUse a local VS Code 1.108 or later window with a trusted workspace. Install and authenticate your chosen CLI separately using its official instructions. This extension does not install agents or perform login. Build the local VSIX using the development commands below, then choose
Extensions: Install from VSIX... and select
For Marketplace installation, search for AI CLI Scheduler by yamapan in
Extensions, or run
If the icon is hidden, right-click the Activity Bar and enable AI CLI Scheduler. When upgrading from 0.1.0, VS Code may retain your previous view placement. Run View: Reset View Locations to restore default placements for all views, or use View: Move View to move only the scheduler task view to its dedicated sidebar. Saving a profile can authorize arbitrary local code, including shell startup files. Run now explicitly starts a task even when its automatic schedule is disabled. The extension creates a dedicated terminal per run. Your existing terminal is never reused. Shell Integration must support the required execution/output/end events; the UI explains blocked configurations. Aliases/functions must be defined in the selected shell's startup profile, not just typed into another terminal. Do not change execution policy or disable TLS verification to work around an unsupported setup. PowerShell requires 7.3 or newer; the dedicated terminal uses standard native
argument passing. Windows On Windows, if VS Code omits the detected shell type, the scheduler checks the owned terminal's process through a bounded, read-only OS query. It recognizes PowerShell only when that process has no child processes. If neither observation identifies the shell, no command is sent. Review the terminal profile. Direct mode is an explicit alternative only for native executables, not aliases or scripts. The scheduler does not guess the shell or silently switch modes. Model and Reasoning OptionsTask editors include Model and Reasoning effort. CLI / profile default adds no override and preserves existing CLI configuration. Choose a bundled model or Custom model ID; candidates are not a live account-availability list. Before selecting reasoning, use Edit profile to confirm its Model options adapter and enter the CLI version (user-declared). The scheduler does not probe or launch the executable for discovery. The conservative compatibility floors are Copilot CLI 1.0.87, Codex CLI 0.147.0 and Claude Code 2.1.229, within the same major version. These are catalog verification floors, not the earliest provider versions that supported the feature. A wrapper or administrative policy may still override a requested setting. Unverified prerelease versions (for example
Use model and effort defaults clears both overrides in the draft; save to
apply it. This recovery action remains available when conflicting profile
arguments disable the selectors. Switching profiles preserves a missing candidate
as a visible Custom model ID, never silently substituting another model.
Unrelated simple Codex Task summaries, sidebar tooltips and history show requested options, not a claim about the effective model or effort. No CLI login, gateway start or model request occurs when opening the picker or querying candidates. Storage is upgraded from schema v1 to v2 on the next successful write under the
existing lock. A single If Capability sources: GitHub model support, GPT-5.4, Claude effort. Commands
FeedbackUse the sidebar's feedback icon, AI CLI Scheduler: Send Feedback, or the management screen's Report a bug / Request a feature buttons. A local confirmation shows the destination and draft before opening the GitHub issue form. Only extension version, VS Code version and OS are prefilled. No prompts, logs, environment values, task names or local paths are automatically included. Review and submit the form yourself; the extension does not create an issue. The existing issue tracker is a private repository requiring access. This feature does not create a public tracker, change repository visibility or grant access. The source can remain private if a separate public support tracker is chosen later; that destination/publication requires an explicit decision. Configure from Copilot ChatIn GitHub Copilot Chat's Agent mode, enable the AI CLI Scheduler tools in the tool picker. These are VS Code Language Model Tools, not an external MCP server; no MCP configuration, server process or port is required.
Example: "List my AI CLI Scheduler profiles, then create a disabled weekday 09:00 Asia/Tokyo task using my chosen profile, prompt and working folder." You can also ask to change its schedule, disable it, or change the history limit. Tool availability depends on the Chat client's tool selection and policies. Query Changes request confirmation. Enabling a task allows future automatic CLI runs; it is separate from creating a disabled task. Folder approval, deletion and raw output persistence retain the extension's own confirmation dialogs. The tools cannot run or stop tasks, change executable profiles, set secrets, or bypass Workspace Trust. Use the management screen for those actions. The model must query first and submit the returned If Language supportThe extension follows VS Code's display language. Japanese ( Documentation: English | 日本語 Custom profilesChoose a TerminalIn Profiles > Edit profile, use Choose terminal profile... beside Launch
mode. Select the VS Code default, a registered user/built-in profile, or browse
for a local PowerShell 7 ( The picker copies explicit path and string-array arguments from VS Code's
user/default Windows candidates must include a drive letter and root separator; UNC/network, device and drive-relative paths are rejected before file lookup. POSIX double-root paths are also rejected. This is a path-syntax check, not verification that a mapped drive or symlink points to local storage. Use trusted local installations. When you browse for an executable (including a detected/missing-profile fallback), the draft shell arguments start empty: arguments belonging to the old shell are not copied to the newly selected executable. Review and add any needed arguments in the detailed fields. An automatically resolved registered path keeps its args. While the picker is pending, profile saving and a second picker request are disabled. Cancellation and errors appear beside the picker; the draft remains unchanged and the controls become available for retry. Replies, including errors, are tied to the requesting editor so an old dialog cannot affect a new draft. Saved choices are snapshots, not live references to VS Code profile names. The default option still follows VS Code's default at execution time. Late picker results never replace another editor or overwrite a changed shell draft. Actual execution still requires Shell Integration and, for PowerShell, version 7.3+. This starts an owned integrated terminal, not an external Windows Terminal window and not an existing shared terminal.
For
This is a partial configuration example, not a task to run during installation.
The gateway remains a separately installed project. Stdin keeps prompt text out
of its Windows argument re-quoting layer. PowerShell piping may append a newline.
For a new agent, choose Scheduling policiesTask, profile and settings editors distinguish Saving, Saved, cancellation and failure. While a save is pending, repeated submissions, draft reset and terminal selection are disabled. Confirmation updates the edit baseline from the committed record; new tasks/profiles keep the assigned ID so continuing to edit does not create a duplicate. Input typed after submission remains in the draft and is marked unsaved. Errors/cancellation retain the input and allow a deliberate retry. If the list cannot refresh after a successful write, the save remains successful with a refresh warning. Do not repeat it as a new creation. If no result can be confirmed, reopen the scheduler and inspect the saved list before retrying; there is no automatic retry or claim of durable request deduplication across windows. Settings edits keep the last confirmed baseline. If another window changes the settings before or during saving, the save is rejected rather than overwriting it or re-enabling output persistence. Successful saves can be followed by further edits in the same form. Use Reset draft after a conflict to load the latest settings, then reapply any intended changes. Reset draft discards unsaved input. History-only updates do not invalidate a UI settings draft; Chat changes still require the current store revision.
Retained output and final answers share an additional 4 MiB per-run budget and 16 MiB aggregate budget, separately for memory and persisted history (including JSON escaping). Oldest payloads are evicted first while history metadata remains; the UI marks affected output as truncated. Only one managed run is active across windows using the same extension storage. Manual runs do not consume the next scheduled occurrence. There are no automatic AI retries. The extension must be running; there is no OS scheduler registration. An invalid timezone blocks that task rather than silently changing its execution time. Results and stopping
Stop and timeout request cancellation of the owned run only. The scheduler never
calls Privacy and limitationsProfiles, task prompts and approved folders are stored in VS Code's user-local extension storage, not in the opened repository. Secrets use VS Code SecretStorage. Raw output may contain sensitive data; persistence is off by default. Native CLI histories and VS Code terminal history are controlled separately. Explicit secret values are redacted, but output is not guaranteed to be free of every possible secret. Scheduler-managed output removes terminal control sequences and normalizes CRLF before matching registered secret values, including across chunk boundaries. Direct execution masks stdout and stderr independently before merging them. Color or hyperlink sequences cannot split a registered value around this check. This does not detect arbitrary encoded/transformed secrets, alter native terminal scrollback, or erase CLI-owned logs. With persistence disabled, bounded output can still be displayed in the owning window's memory; it is not written to disk. Acknowledging an unknown/interrupted run rechecks Workspace Trust and cancellation inside the save transaction after confirmation. A declined or revoked confirmation does not mark the run acknowledged or free its execution slot. Terminal input/environment transport has a 24,000-character limit; direct
execution supports larger input subject to platform limits. Direct execution does
not resolve aliases or Windows Remote/WSL/container windows, existing chat continuation, automatic worktrees and execution after VS Code exits are not included. Shell support depends on runtime capability checks. Development uses dummy agents only: real AI/gateway end-to-end execution is not implied by fixture tests, nor is cross-OS support implied by a Windows run. See architecture and research sources for the execution contract, CLI permission prerequisites and detailed boundaries. Development
F5 launches an isolated Extension Development Host through the provided launch
configuration, retaining its development-only data under Do not publish, push release tags, register a daemon, or run AI tasks as part of
setup. Local VSIX artifacts belong under To regenerate the original extension icon on Windows, run
Feedback and related projects
Repository and issue links require access to this private repository. For public questions, use Marketplace Q&A. 日本語GitHub Copilot CLI、Codex CLI、Claude Code を VS Code から予約実行する拡張です。 VS Code の表示言語が日本語なら、コマンド・フォーム・実行履歴も日本語になります。
単発・cron 予約、手動実行、停止要求、実行履歴に対応します。予約は VS Code 起動中だけ動作します。 「成功」はコマンドの終了コード等の確認結果であり、回答やコードの正しさの保証ではありません。 生出力の永続保存は既定で無効、秘密値は SecretStorage で管理します。 PowerShell は 7.3 以降が必要です。Windows で shell 種別の通知がない場合は、専用端末の実プロセスを 読み取り確認します。確認できない場合は実行しません。実 AI や gateway を使う検証は行っていません。 詳細: 日本語 README(リポジトリへのアクセス権が必要)。 公開の問い合わせ先は Marketplace Q&A です。 |