TunaTuna
Docs
Docs Download βeta

Custom Scripts and Script Directories

Tuna can treat your own scripts like normal commands.

That means your script can show up in search, run directly, accept input, and even hand text back into Tuna for the next step.

Default Location

By default, Tuna looks in ~/Library/Scripts.

If that is enough for you, you do not need to configure anything.

Adding More Script Directories

If you want Tuna to scan other folders too, open:

Settings -> Library -> Scripts

From there you can add one or more custom script directories.

Default ~/Library/Scripts support is available in free mode. Adding extra script directories requires Tuna Pro.

Once you add custom directories, Tuna uses those directories for the Scripts catalog. This is useful if you keep scripts in a dotfiles repo, a work folder, or a project-specific automation directory.

What Tuna Can Discover

The Scripts catalog can pick up:

  • AppleScript files
  • AppleScript bundles
  • Automator workflows
  • folder actions
  • executable scripts like shell, Ruby, or Python scripts
  • shebang scripts even if the file is not marked executable

So this is not limited to AppleScript.

Making Scripts Feel Native

Executable scripts can add a few Tuna headers near the top of the file to control how they appear and run.

Example:

#!/bin/sh
# @tuna.name Resize Images
# @tuna.subtitle Shrink selected files for email
# @tuna.mode background
# @tuna.input arguments
# @tuna.output text

These headers let you describe:

  • the display name
  • the subtitle
  • whether the script runs inline or in the background
  • whether input arrives as arguments, stdin, or not at all
  • whether the script returns text back into Tuna

Inline Scripts And Background Scripts

If a script runs inline and returns text, Tuna can stage that text right away so you can keep chaining actions.

If a script runs in the background, Tuna puts it in Shelf instead. That is a better fit for longer-running scripts or scripts that should not block the launcher.

Run With Input

Scripts can also participate in Tuna's normal command flow.

That means you can:

  • pick some text or files as the subject
  • choose Run with Input...
  • send that input into a script

This makes scripts feel like part of Tuna's command system instead of a separate automation island.

When To Use This

Use custom script directories when:

  • you already have scripts you use often
  • you want Tuna to become the front door to your own automation
  • you want quick personal commands without building a full extension

If you want the bigger picture first, go back to How Commands Work.