Getting Started

Welcome to the Serenade docs! Here, you'll find an overview of everything Serenade can do, along with examples. First, let's get Serenade installed on your device.


Serenade is freely available for macOS, Windows, and Linux. To download Serenade, head to

After installation, Serenade will walk you through installing plugins for supported applications, like VS Code, Chrome, and Hyper. Serenade will then guide you through interactive tutorials to practice voice coding.

Serenade can be configured to use cloud-based speech recognition or local speech recognition. To change this setting, just head to Settings > Server. If you're using Windows, the local server requires WSL with Ubuntu. Regardless of your setting, you can also opt into sharing your data with Serenade in order to help improve Serenade's speech-to-code machine learning models.


Serenade floats above all your other windows, so you can keep it side-by-side with other applications, like your code editor. You can toggle Serenade by clicking the Listening switch or pressing Alt+Space. Then, as you speak, you'll see a list of transcripts in the Serenade window.

Sometimes, Serenade isn't sure what you said, so you'll see a few different options. The first one will be used automatically, but to use a different option (and undo the first one), just say the number you want to use instead. For instance, to use the second option, just say two. If none of the options are right, you can just say undo.


As you'll see throughout these docs, most Serenade voice commands have the same form:

<action> <selector>

The action is something you want to do to your code. Common actions include add to add a new line of code, change to edit code, and delete to remove code.

A selector is a block of code to operate on. Some selectors are text-based, like line or word. Even more powerful selectors are code-based, which enable you to reference parts of your code, including function, class, and return value. For a complete list of selectors, see the Reference section.

Serenade commands simply combine an action and a selector: add function hello, change parameter to number, and copy lines five to ten.

You can also chain commands together without pausing. For instance, you can say save focus terminal to save your current file and then focus your terminal, or start of class add method hello to add a new method at the start of a class.

Finally, you can also specify how many times a command should be executed. For instance indent three times will run the indent command three times.

Common Commands

Below is a compact list of commonly-used Serenade commands that you can use as a reference or cheat sheet as you're learning voice coding.

go to <selector>
Move your cursor around a filego to line fiftygo to next function
add <code>
Add a new statement or constructadd return falseadd class exception
insert <code>
Insert text at your cursorinsert foo of bar plus baz
change <old> to <new>
Change existing textchange hello to goodbyechange return value to false
delete <selector>
Delete textdelete foo bardelete next function
copy/paste <selector>
Copy, cut, pastecopy methodcut previous two wordspaste
Change the indentation level of codeindent blockdedent if
Save the current filesave
Undo the last operationundo
open <text>
Open a new fileopen react.js
(next | previous) tab
Switch tabs in your editornext tabprevious tab
focus <text>
Switch appsfocus codefocus chrome

With Serenade, you can navigate pages and manage tabs with voice commands.

open google dot comgo to stack overflowNavigate to a web page
backforwardNavigate back or forward in history
reloadReload the web page
scroll upscroll downScroll the browser
scroll to topscroll to bottomScroll to the top or bottom of the page
scroll to searchscroll to loginScroll to given text on the page
new tabcreate tabCreate a new tab
close tabClose the active tab
first tabsecond tabtab onetab twoSwitch tabs
undoTrigger an undo
redoTrigger an redo

Using Serenade, you can also interact with links and inputs on a web page.

show linksShow numbered overlays for each link on the page
show inputsShow numbered overlays for each input field on the page
click oneclick twoClick a numbered overlay
clearHide overlays
click loginclick searchClick the link matching the given text

Editing Text & Code

When focused on an input, all of Serenade's functionality for writing code and editing text will be enabled. For instance, you can say insert hello world to add text, change login to logout to edit text, or "delete next two words to remove text.

Serenade is designed to work with with a variety of inputs. So, whether you're training on model on Jupyter, analyzing data on Google Colab, building a project on, or practicing algorithms on LeetCode, Serenade can help you write code in a web browser.

To learn more about using Serenade to write code, check out the Editors & IDEs documentation.