Commands
Overview
Tana has a command line that gives you access to all actions you can take in Tana. The command line is accessible via Cmd/Ctrl+K
If you're looking for a modular system for creating and assembling custom commands, see command nodes.
Documentation
Command line
The command line can be launched from any node using the shortcut Cmd/Ctrl+K
A modal pops up which you type into to search for available commands.
Essential commands
Remind me | Sends your node to a date of your choice, like tomorrow or a specific date |
---|---|
Find nodes | Gives you the possibility to set up list or tables based on time created, dates, information in fields and much more |
View as | Show you quickly the different views from the command line |
Move to | When you have a shared workspace, you can move a node there |
A Tana backbone function: Find nodes
The Find nodes command gives every user the magical powers of developers, allowing you to create what would have been complex database queries, lightning fast and easy in one command:
- find nodes with a specific tag, and view them in a list or table, like "Find nodes with tag #todo as list"
- find nodes created within a certain timeframe "Find nodes created last 7 days as list"
- or combine them with "Find nodes with tag #todo created last 7 days as list"
- find nodes with specific fields, and the values in these fields "Find nodes with tag #todo created last 7 days with field Owner=John Doe as list"
Custom Keyboard Shortcuts
You can define custom shortcuts for any command in the command line, all the way down to setting specific tags or field values. To trigger shortcut recording, open the command line, find the command you want to set a shortcut for, and hit Cmd/Ctrl+Shift+K.
To remove custom keyboard shortcuts, go to Settings in the Home node or Cmd/Ctrl+K > Open Settings, and look under "Private keyboard shortcuts" for the custom shortcut you want to delete.
All commands
Calendar
COMMAND | DESCRIPTION |
---|---|
Remind me | A reference of the selected node will be sent to daily page of choice |
Open calendar for → | Open a daily page |
Show today node | Opens today node in full page layout |
Set up day tag for this workspace | Only runs on workspace node. Creates the journal tags and nodes on the workspace root. |
Collaboration
COMMAND | DESCRIPTION |
---|---|
Notify @ → | Sends a notification to target user's Notification menu |
Export
COMMAND | DESCRIPTION |
---|---|
Get html link to node | Copies URL of node along with node contents |
Export plain html | Opens a new browser html page of the selected node and contents |
Fields
COMMAND | DESCRIPTION |
---|---|
Show [Field] → | Switch on chosen hidden field |
Set Optional → | Toggle whether the field is Optional or not (Yes/No) |
Set Cardinality → | Toggle what Cardinality a field is (single value/list of values) |
Set Datatype → | Set the type of data the field can contain |
Set Autocollect options → | Toggle whether a field will autocollect values to populate options |
Set Hide field conditions → | Toggle Hide state of a field |
Set Source supertag → | Set Source supertag for all field values |
Create field | Creates a field node |
Filter
COMMAND | DESCRIPTION |
---|---|
Sort by Not Done → Done | Changes sorting of search results |
Sort by date created, Old → New | Changes sorting of search results |
Sort by date created, New → Old | Changes sorting of search results |
Sort by name, A → Z | Changes sorting of search results |
Sort by name, Z → A | Changes sorting of search results |
Show completed items | In a list of checkbox nodes, show checked items |
Hide completed items | In a list of checkbox nodes, hide checked items |
Global Interface
COMMAND | DESCRIPTION |
---|---|
Join collaborative space → | Add workspaces you've been invited to |
Open sidebar node | Open the node that drives the sidebar content |
Open layout node | Open the node that saves all layouts (Tana Labs savedLayout) |
Open in new browser | Opens node in a new browser instance |
Go back | Goes back to previous location navigated from |
Open workspace → | Open the home node of chosen workspace |
Open quick add | Open quick add |
Hide sidebar | Hides the left sidebar |
Toggle sidebar | |
Set theme to dark mode | Toggles dark mode theme on |
Set theme to light mode | Toggles light mode theme on |
Navigation
COMMAND | DESCRIPTION |
---|---|
Open trash (deleted) | Opens node where all deleted items go |
Open library | Open your Library page |
Open settings | Open your Settings page |
Open home node of current workspace | Open your home node |
Open schema | Open your schema, where definitions for supertags and fields live by default |
Create keyboard shortcut | Dumps keyboard shortcut nodes for manual input (do same while navigating to command line option you want, then hit Cmd+Shift+K to auto-record a shortcut which gets saved in Settings) |
Nodes and references
COMMAND | DESCRIPTION |
---|---|
Move to → | Brings up a list of predetermined locations to move a node to. Defaults are Home, Library and Today. |
Delete node | Deletes selected node and sub-nodes in trash |
Clone Reference | Convert a Reference node into a non-referenced node with all contents cloned |
Duplicate node | Duplicates selected node |
Hard delete including references | Deletes a node and all References. Inline refs and refs in other workspaces stay, but with trash icon. |
Show edit attribution | Show Edit Attribution of node |
Hide edit attribution | Hide Edit Attribution of node |
Hoist children to siblings | Move child nodes to the same level as selected node |
Configure node | Opens configuration for selected node |
Configure node (legacy) | Opens legacy configuration for selected node |
Create URL node | Creates a node that receives and specially formats URLs |
Lock node | Locks a node from being edited |
Unlock node | Unlocks a locked node |
Paste as code | Pastes contents in a special formatting code node |
Add description | Opens the description of the selected node |
Set move target | Adds selected node to list of places when using Move command |
Select node | Selects the whole node |
Copy full content to clipboard | Copies all contents of selected node as indented plain text |
Select children | Selects child nodes of selected node |
Iterate and convert URLs to URL nodes | Finds nodes that are just URLs and converts them to Tana URL nodes |
Add contextual content | Creates contextual content (child node, field, column) that only appears in this specific context; doesn't add data to the node generally |
Remove Reference | Remove a reference node |
Get link to node | Retrieves reference link to node. Same as Cmd+C in an open node |
Outline editing
COMMAND | DESCRIPTION |
---|---|
Indent nodes below | Indents nodes below selected node |
Expand | Expands the selected node's child nodes |
Expand all | Expands the selected node's child nodes and all their ancestors |
Collapse | Collapses the selected node's child nodes |
Collapse all | Collapses the selected node's child nodes and all their ancestors |
Move up | Moves selected node up |
Move down | Moves selected node down |
Insert after | Insert new node after selected node |
Insert before | Insert new node before selected node |
Panels and Layout
COMMAND | DESCRIPTION |
---|---|
Zoom full page | Selected node opens to full page layout |
Zoom in panel | Selected node is opened within the current panel layout |
Open in new panel | Selected node is opened in new panel |
Close this panel | Close panel that your cursor is in |
Close panel | Closes the active panel (when multiple panels are open) |
Search
COMMAND | DESCRIPTION |
---|---|
Find nodes | Starts query builder |
Find todos within | Retrieves todos from within the parent node |
Search within | Searches within the contents of selected node via main search bar |
Create search node | Create an empty search node. Also invoked by typing "?" on an empty node |
Open search | Puts cursor in main search bar at top |
Supertags
COMMAND | DESCRIPTION |
---|---|
Add tag # | Starts searching for existing supertags to add to active node |
Remove tag # | Removes selected supertag from node |
Create supertag | Convert the contents of a node to a supertag definition |
Insert current date and time | Adds text of current date and time (YY-MM-DD hh:mm) |
Insert current time | Adds text of current time (hh:mm) |
Create supertag based on content | Use node and contents (nodes, fields) to create a supertag |
Edit supertag definition for [supertag] | Opens supertag configuration |
Set default tag for children | Choose which supertag gets applied to all new child nodes of selected node |
Views
COMMAND | DESCRIPTION |
---|---|
View as list | Set view of child nodes as list |
View as cards | Set view of child nodes as cards |
View as table | Set view of child nodes as table |
Show view options | Make view options bar appear |
Remove all view options | Removes view settings from a node (if they exist). Also accessible via Configure Node (legacy) |
Add column | Table view only: Creates column which will appear as a field within nodes listed in the table |
Add contextual column | Table view only: Creates contextual column/field for nodes listed in the table |
Show column → | Table view only: Switch on chosen hidden column |
Hide column | Table view only: Switch off column |
Move right | Table view only: Move column to right |
Move left | Table view only: Move column to left |
Delete column and values | Table view only: Delete column/field and its values |
Add calculation → | Table view only: On a numeric field, add a calculation type |
Set [Field] → | Table view only: Set a field option on one or more selected nodes with the same field |
AI
COMMAND | DESCRIPTION |
---|---|
Ask AI | Ask AI anything. Write your prompt in the node and run this command. Accesses default GPT model. |
Ask AI to → | Ask AI to do a task, which will run on the node you are on, looking at both the node and context. Node must have content. |
Ask AI (creative) | Same as Ask AI, but with higher temperature. |
Run AI fields | Runs all AI-enhanced fields on a node. |
Generate image(s) with DALL-E | Returns an AI-generated image using DALL-E. |
Related release notes
- fixedFixed bugs with 'Make API request' expression expansion not working if they contained dates or inline references. ()
- improvedTitle expressions can now be used in openLink to build URLs ()
- fixedFixed encoding issues in openLink command node ()
- newThere is now a new system command node to open a link. ()
Related FAQs
- Can a command move the current node to a field of a new node?
Yes, you can. Make a new command node, and use the command
Insert Tana Paste
with the following prompt:- ${name} #note
- Based on:: [[^${sys:nodeId}]]The first line is the new node. It uses the name of the current node to inform the name of the new node by using the title expression
${name}
. The supertag#note
can be enough for Tana to find the right tag to use, but you can specify it more precisely by adding the^nodeID
to it. See the Tana Paste doc for more info on this convention. To retrieve the nodeID of a supertag, run the commandCopy link (HTML formatted)
on a supertag definition and paste the results. It will paste with the nodeID written out:The second line is the field. After the name of the field and the double-colon
::
is a reference to the current node that the command is being run on, which it is able to target by retrieving the nodeID of the current node using the title expression${sys:nodeId}
.This is what the command node should look like:
Special thanks to Navigator Emmanuel Galanos for this clever solution!
Related docs:
- How can I extract the start date of a range using Commands?
Use
Insert relative date
command, here's an example:Related docs:
- How do I share a supertag from my private workspace to a shared one?
Currently, the easiest and most foolproof way to do this is to not share it but instead build the supertag, with its fields and anything else necessary for the supertag to work, from the ground up in the new space.
That said, if you still want to move a supertag over that exists only in your private workspace, the main work is to ensure that there's nothing in the supertag that references something in your private workspace, otherwise it will appear as broken to others once it's moved.
It's like packaging up a zip file. You can't just zip up a bunch of shortcuts, you need the real files in there or the recipient will only see broken shortcuts.
You'll also have to remember to move over other things like field options, commands, and ensure that no saved view options contain elements from your workspace. Basically, you must ensure that nothing you're moving over from your workspace contains references from your workspace.
To bring all nodes (except system nodes) into the supertags, fields and commands you want to move, use the command "Bring referenced node here". Alternatively, you can move each necessary node separately too if you foe example want the field definition to exist outside the supertag. But the key is that everything that is connected to what you're sending over gets sent over too, otherwise there will be missing pieces.
Related docs:
- How do I use the Autofill command to enrich URL nodes?
The Autofill command can generate a new node title and description based on the URL.
To set up the command
- Create a new command node
- Add the
Autofill fields
command - Add and check off
Autofill title
andAutofill description
parameters to change both - Add
Model to use
to control which model you prefer. If left empty, Tana will pick the one that returns the answer with best quality and consistency
To run the command
- Run the command on a URL node using the command line
- Put this command node in the Commands section of a supertag you use for URLs. Press the button to run the command.
Related docs:
- How does the "Set view definition" command work?
There is a command called
Set view definition
. It can set the Group, Sort and Display settings of a node view.There is no good UX for this at the moment, so the instructions are not conventional nor friendly for beginners. But right now, this is one way of doing it:
- Mock up a node that will have sample child nodes representing the data you'll be applying this command on
- Then, create the exact view settings you want with Group, Sort and Display.
- Go Cmd/Ctrl+K > Debug Node on the parent node and look at Views for node:
- Clone the fields over to the command node so it looks like this:
When you run this command on a node, this should change the view settings according to your configuration.
Related docs:
- In the command line, Set [field] -> [value] doesn't show all my fields, why?
Set [field] command only works on field types Option, Instance, User and Checkbox.
Related docs: