Skip to content

[Phase 4] Safe custom Finder actions, macOS Shortcuts, and keyboard access #10

Open

Description

@raiseCatError

Priority: P2
Parent roadmap: #1
Depends on: stable contextual action registry and job execution (see #4).

Vision

Allow power users to invoke their own explicitly configured actions on selected files, without turning Tuck into an unrestricted or opaque automation daemon.

Scope

  • A small settings editor for named custom actions: title, optional SF Symbol, compatible selection types, sort/order, command/script or macOS Shortcut reference, and confirmation requirement.
  • Placeholder/argument interface that passes selected paths safely via argv or a structured manifest; never interpolate untrusted filenames into a shell command string.
  • Support invoking installed macOS Shortcuts by stable identification where platform APIs/CLI support it; verify run/cancel/error behavior.
  • Support user-chosen executable scripts with explicit consent, working directory, environment policy, bounded runtime and output/log redaction.
  • Expose standard Tuck operations through suitable macOS Services/Quick Actions where technically supported; allow keyboard shortcuts without stealing native Finder shortcuts or registering fragile global key monitors.
  • Disable/remove/reorder actions; show exactly what will run and which files it receives.
  • Security: no default network/shell scripts, no bundled unsafe recipes, no privilege escalation, no secrets in environment/debug logs. Don't silently run scripts on untrusted downloads.

Acceptance criteria

  • Selecting appropriate Finder files exposes only compatible custom actions.
  • Filenames with quotes, spaces, Unicode, newlines and leading dashes cannot inject extra arguments or shell syntax.
  • Action execution is asynchronous with progress when possible; cancellation terminates only job-owned children.
  • User can inspect and revoke custom action permissions.
  • Config persists and migrates safely; no unrestricted script executed because of a malformed preference.
  • Shortcut execution and keyboard use have actionable errors when permissions/integration are missing.

Tests

Command argument-injection fixtures, invalid/removed scripts, denied permissions, huge selection, launch failures, timeouts, cancellation, environment sanitation, conflicting shortcuts and Finder extension restarts. Preserve authenticated helper IPC.

Activity

  1. raiseCatError commented on Oct 16, 2026

    @raiseCatError
    OwnerAuthor

    Implementation merged in PR #25: consented user-configured executable and macOS Shortcut actions, contextual Finder menu, argument-array file paths, bounded tool execution, cancellation and revocation. CustomActionTests passed in hosted Mac CI. Still open for physical Shortcuts permissions, Services/Quick Actions and optional keyboard shortcuts; no generic global hotkey registration was added.

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions