The Mouseless Roam extension aims to create a fully keyboard accessible experience in Roam!


You could use the Copy Extension button below to individually install this extension. To install, just paste anywhere in your Roam graph and click "Yes, I Know What I'm Doing".

Manual Installation

If the extension doesn't work after using the copy extension button above, try installing manually using the instructions below.

First create a block with the text {{[[roam/js]]}} on any page in your Roam DB. Then, create a single child of this block and type three backticks. A code block should appear. Copy this code and paste it into the child code block in your graph:

var existing = document.getElementById("roamjs-mouseless");
if (!existing) {
  var extension = document.createElement("script");
  extension.src = ""; = "roamjs-mouseless";
  extension.async = true;
  extension.type = "text/javascript";

Finally, click "Yes, I Know What I'm Doing".


The script is not configurable.

The biggest hurdle to transitioning to a mouseless experience in any application is remembering what keyboard shortcut maps to what. This extension adds a "master" keyboard short cut in CTRL+? on both Windows and Mac. Once triggered, a help modal will appear where you could start typing your desired action to discover or remind yourself of what the key mapping is. Hit ESC to exit the modal back to the previously focused location.

The extension also adds the following shortcuts that were previously unsupported:

  • Ctrl-Shift-S - Add Shortcut To Page
  • Ctrl-Shift-C - Copy Current Block Ref
  • Alt-Ctrl-Shift-V - Paste Block with children as references
  • Alt-v - Toggle Parent Block View Type
  • Alt-Ctrl-Shift-A - Replace last reference before cursor with text and alias
  • Alt-Ctrl-Shift-C - Apply children as text
  • Alt-Ctrl-Shift-O - Replace with original + bring nested items along
  • Alt-Ctrl-Shift-M - Create Comment (coming soon)
  • Alt-Ctrl-Shift-Z - Collapse block tree to a certain level, specified by the following numeric key press
  • Alt-Ctrl-Shift-X - Expand block tree to a certain level, specified by the following numeric key press

The dialog also allows triggering these actions directly by navigating with the arrow keys and hitting enter.

More shortcuts will be added over time. Feel free to message RoamJS with suggestions!



This extension is brought to you by RoamJS! If you are facing any issues reach out to or click on the chat button on the bottom right.

If you get value from using this extension, consider sponsoring RoamJS by clicking on the button below!

Other Extensions