Command reference
Note: This document refers to the current R&D version of Companion, which may not be the version installed on your controller. Use the help command to access your system's current documentation.
Welcome to Companion!

This command is Companion's on-board help service. If you would like to make a hard copy of this information, it can be found in the manual file inside your controller's system memory.

Basic commands:

safeword, verbosity, send, reboot, halt, off, profile, shutdown, bootstyle, reset, about, open, preload, sound, remark, trigger, do,
color, tutorial, sentinel*, sxdwm, relay, persona, vox, charge, coil, scheme, volume, audience, optics, hover, unleash, range, leash,
follow, navigate, device, setup console, power, zap, help, commands, unlock, lock, lust**, task, module, conf, on, boot.

* requires security enhancements (ATOS/E).
** requires emotion simulator (TESI).

Administrator commands:

keychain, name, authority, access, rlv, restraint, xanadu, domain, guests, policy, aux, beacon, gender, pin, bolts, autolock, drainprotect, chorus.

General-interest topics: subsystems, users, software, updating, bangs, personas, development, data, bugs.

If you need help with a command not listed here, try typing <command> or <command> help to check for embedded documentation.

For a basic introduction to the system, see introduction. If you are operating yourself, put an @ sign before all commands, e.g.: @help introduction

Looking for troubleshooting advice? Check out the online Frequently Asked Questions page. Don't forget the links at the bottom!


Companion is the operating system included in your main controller. It is responsible for powering the robot, directing power flow, and giving the robot instructions on how to behave.

It can also trigger behavior spontaneously, and interact with a wide range of devices and equipment using various protocols.

In general, the word 'unit' is used to refer to the robot as a whole, although it may also be used in phrases like 'main controller unit' and 'chassis specification unit' to refer to specific components.

The rest of the robot's body is referred to as the 'chassis.' Most humanoid robots also have a brain-like computer core in the head, called the 'cortex.'

The syntax used in this manual is as follows:

    command indicates text that can be typed as a command, and has an entry in the manual.
    text indicates other text that can be typed or may appear as output.
    one|two indicates alternatives; either one or two can be used.
    <variable> indicates a mandatory variable.
    [parameter] indicates an optional (literal) parameter.
    [<variable>] indicates an optional variable.

As mentioned on the starting page, a robot can run commands to control itself by prefixing them with @, for example @about.

If you are controlling a robot through a remote control device, then the @ is not necessary.

Other introduction pages: personas, software, updating, subsystems, users, development, data, and bangs.
permalink return to top


To report a software defect, please use the online issue report form.

You will be required to include your username in the report.

Ideal bug reports are concise, specific, and reproducible. Many common issues can be resolved through the FAQ page.
permalink return to top


Personas are the primary tool for configuring your unit's behavior. They affect its speech patterns, the way its voice sounds, and can replace some attachments through #RLV folder loading. They can also be configured to trigger actions on initialization, through persona scripts.

To see what #RLV folder your current persona uses, type persona. The folder is listed as the current overlay path.

When the unit's mind is turned off (see subsystems), it is restricted to saying a handful of preset messages. These are activated using commands that start with . such as .hi and .bye. To see the currently available dot commands, type .info.

Preset messages are changed by personas, and can be used even when the mind is enabled. This makes responses more efficient, as well as more consistent. To use dot commands remotely, see relay.

Personas consist of two files, a p_ file and an optional px_ file:

- The p_ file tells the controller which #RLV folder to use, what sounds to use, and what preset messages to apply.
- The px_ file contains a sequence of actions to perform when the persona is activated. See the online Arabesque documentation for details.

Like most other data, these reside in the user memory area of the controller. See data for more information.
permalink return to top


The package manager (see software) can be used to automatically manage data files. However, it is possible to manually manipulate them. Unlock the bolts on your controller (as explained in bolts) to enable editing, and then edit the appropriate linked part for your controller type:

- DAX/2: part 18
- DAX/2m: part 12
- SXD: part 68
- NS-112 (Aide): part 4
- NS-476 (Aegis): part 23
- NS-115 (Scout): part 7
- NS-409 (Nightfall): part 22
- DAX/3: part 19
- DAX/3m: part 5

If using Firestorm, you can cycle through the linked parts (once 'Edit linked' is enabled) using ctrl-comma and ctrl-period. For controller types not listed here, look for the link with the description program, or containing the script _arabesque.

More information is available in the online manual.
permalink return to top


The application software on your controller is customizable. To install, update, or remove software, use the manage > software menu. Installation and updating requires the presence of a compatible Xanadu software server.

A list of support locations can be found online.
permalink return to top


Updating the system to the latest version can be accomplished in several ways:

1. If you received a (Redeliver) object with your controller, also known as a redelivery monad, wear this to automatically deliver a fresh copy of the newest system.

2. Using the console, visit a region that supports Xanadu service (e.g. Eisa, NS's home) and type:

  i. xanadu servers (to get a list of available servers)
  ii. xanadu connect <server> (to connect to a server offering system updates, e.g. xcentral:0)
  iii. xanadu list (to get a list of packages both on your system and on the server)
  iv. xanadu upgrade Companion_x.x.x (where x.x.x is the version number of the latest system release)

3. Using the menu, visit a region that supports Xanadu service (e.g. Eisa, NS's home) and select:

  manage > software > connect > (server) > update > Companion_x.x.x > upgrade

Where (server) is the name of a server offering system updates, e.g. xcentral:0.

It is advisable to back up your user list before updating. Run the following command first: keychain save

(Remember to put @ signs before each command if you are operating the unit locally.)

Upon successful updating, the unit will receive a notecard containing patch notes and any necessary instructions to finish the installation.

Current version numbers and exact instructions, including instructions for installing pre-releases of upcoming versions, are always available at the support.ns website.

For more information about the software management system, see software or xanadu.
permalink return to top


Companion permits selective control of individual power subsystems to conserve power when certain functionality is either not needed or not desired. These can be accessed from the subsystems menu, or manipulated with the power command.

By default, these subsystems are:

- video (209 W): vision
- audio (75 W): hearing
- move (5 W idle): walk (159 W), jump (203 W), and touch
- rapid (5 W idle: run (203 W) and fly (605 W)
- teleport (170 W idle): jump to a new location instantly (cost varies with distance, up to 23.76 kJ)
- voice: speak quietly (10 J per letter)
- preamplifier: speak at a normal volume (10 J per letter)
- power-amplifier: shout (80 J per letter)
- mind (121 W): speak freely (see personas)
- receiver (22 W): receive private text messages
- transmitter (43 W): send private text messages
- GPS (58 W): determine location
- identify (32 W): recognize the names of others

W (watts) means that one 1 J (joule) of power will be expended for each second something is active.

Some subsystems stack additively; for example, shouting costs 100 J per letter in total. They also have dependencies, e.g. the unit cannot teleport while unable to move. Subsystems that are disabled because of a missing dependency draw no power.

These power costs are variable if your chassis is designed differently. A Chassis Specification Unit (CSU), such as the EXB-8505, can be used to adjust the controller's expectations of the chassis's abilities.
permalink return to top


A user is anyone who interacts with the system. Like many control systems, Companion allows you to register users and indicate that they should have special privileges when interacting with the system. Unregistered users are called guests.

There are three ranks of registered user:

- Owner (rank 2): unlimited control over the system.
- Manager (rank 1): as owner, but not able to affect owner accounts. This is similar to a co-owner on other systems.
- Regular user (rank 0): limited access to everyday features, but not able to configure the system. Not able to use commands marked with an asterisk (*) in the listing produced by the commands command.

When a guest is given access to the system (see guests and access), they have equivalent power to a level 0 user, and may use any menu or command that a level 0 user might.

To configure the users on your system, see keychain or explore the manage > users menu.

Companion supports treating group members as users, as well as completely disabling access by guests, or even restricting access to just the unit's owners. See access for more information.
permalink return to top


Companion is designed to be highly extensible, enabling the creation of new accessory devices, scripts, and software applications, and Nanite Systems is committed to providing open API information wherever exciting new uses of its technologies are possible.

To learn more about developing for Companion and other NS products, visit our developers' portal at
permalink return to top


Bang (!) commands, formerly known as cortex commands, are commands intended for the unit's use to enhance its expressivity. To send a bang command remotely, use the relay comamnd, e.g. relay !greet.

This simulates the effect that would be achieved if the unit directly said !greet.

!greet, !greet2, !love, !love2, !love3, !love4, and !bye
    Various verbal emotive expressions.

!broken and !fixed
    Simulates uneven power to illumination elements. May cause sparking when used with certain peripherals or batteries.
!working and !done
    Displays the ‘working’ light pattern via ornamental status light elements.
!fan <level>
    Adjusts the fan speed. <level> can be a number from 0 to 100, or one of the preset keywords: off, idle, low, med, med, high, or max.
    Simulates a mild electrical fault.
    Simulates a serious electrical fault.
    Allows the unit to bypass the vocoder pipeline entirely for diagnostic purposes; see below. See also online troubleshooting guide.
!lamp on|off (requires DAX/3, SXD 8.4, or other new flicker bus firmware)
    Controls the intensity of illumination emitted by the controller's lighting elements.
!repair, !repaired
    Starts or stops simulated repair effects.

!light <message>
    Sends a message directly over the light bus to all devices. See development. To send a message to only one device, use the device command. (See device.)
permalink return to top


vox pipe on|off|toggle
vox release on|off|toggle
vox probe|status|list|clear
vox <filter> [<parameters>]|remove|help

Configures the speech modulation pipeline. This can also be accessed through the cortex menu.

The majority of the vox command's functions pertain to the filter. Voice filters are lightweight programs that alter the formatting and characteristics of text.

In order to prevent filters from being applied in an illogical order, they are divided into four categories:

1. semantic (what you mean to say)
2. linguistic (how you turn that into language)
3. phonetic (the sounds you intend to produce)
4. typographic (final output by the unit's vocal speaker)

This division ensures that, for example, word replacements (semantic changes) are performed before phonetic changes like lisping, which might otherwise conflict with the word substitution process.

probe: clears the current filter chain and searches for installed filters. Any chat messages in the filtering pipeline will be sent afterwards.
clear: clears the current filter chain only. Any chat messages in the filtering pipeline will be sent afterwards.
status: reports which filters are currently active.
list: reports the filters currently installed.
<filter>: enables the indicated filter.
<filter> <parameters>: passes parameters to the indicated filter and activates it (if not already active).
<filter> remove: disables the indicated filter.
<filter> help: returns embedded documentation for the given filter, e.g. the filter's purpose and the format of supported parameters.

pipe: toggles the output pipe, which forwards chat to compatible RLV gag devices. This prevents typing on chat channels and should not be enabled except for use with certified compatible gags. The send command can still be used, however.
release: allows or blocks the use of the !release command (see bangs). permalink return to top


shutdown -h|-r|-k <time>|now
shutdown -c

Shuts down the system in the specified number of seconds. If <time> is 0 or now, no warning is sent.

-h: power off
-r: reboot
-k: fake warning
-c: cancel scheduled shutdown
permalink return to top


volume cycle|help|set [<number>]|full|mute
volume mute|unmute|toggle tone|chime|voice|menu

Volume settings.

cycle: Switch between whisper, speak, and shout-capable presets.
help: Displays this message.
set: Sets the chime and voice volume to <number>
mute: Sets the mute flag on the specified feature (see below)
unmute: Clears the mute flag on the specified feature (see below)
toggle: Switches the mute flag on the specified feature (see below)

Features (for use with mute/unmute/toggle):
tone: Voice sample played when text emitted
chime: All sound effects from the speaker other than TTS messages
voice: TTS messages
menu: menu beeps only
permalink return to top


persona [<name>]
persona probe

Displays the available and active personas, or activates a persona. To disable persona overlays entirely, type persona default.

probe: Re-scans for available persona files.

To read more about personas in general, see personas.
permalink return to top


relay <message>

Causes the unit to speak the specified message. This works even if the unit's mind subsystem is disabled. See subsystems.
permalink return to top


verbosity cycle|public|internal|none

public (0): played at 10% (whisper) volume, even if speakers (voice subsystem) are muted
internal (1): only the unit sees the messages
none (2): no messages
permalink return to top


hover active|shutdown <level>

Sets the hover offset to be used when the system is online or shut down. <level> is measured in centimeters. Type hover to see the current values. A reboot may be required afterward.
permalink return to top


setup console

Installs the Screen Console HUD into the inventory filesystem. See console-screen for more information.
permalink return to top


The Screen Console HUD is the standard interface overlay for Companion. Introduced in version 8.1, the Console takes the form of a dock bar at the bottom of the screen, with each segment representing a device.

Some units may find that the HUD is positioned incorrectly for their displays; if this is the case, it can be adjusted by editing the _console-config notecard inside of the controller's system memory.

The _console-config file is automatically re-copied into the HUD whenever it changes, ensuring that settings persist through system updates.
permalink return to top


coil reset|help|status|ddt|unbind

Charger interface control.

reset: resets the charger interface module and releases motor/mind locks.
help: this message.
status: reports the charger interface module's status.
ddt: toggle debug messages.
unbind: remove all RLV restraints.
permalink return to top


zap <serial> <amount>
zap <amount>

Charges the unit specified by the indicated serial number with the specified amount of power in kilojoules.

If no serial number is specified, all units in a 10 m radius will be charged.

When ATOS security enhancements are installed, the maximum amount is fixed at 100 kJ to reduce the risk of system damage.
permalink return to top


power status

Reports the system's current power status, indicating the subsystem state, power draw rate, and remaining battery.

power video|audio|move|teleport|rapid|voice|mind|preamplifier|power-amplifier|receiver|transmitter|GPS|identify

Toggles the indicated subsystem.

power motors|radio

Cycles the indicated metasystem. power motors switches between move and rapid, move only, and disabling both. power radio switches between transmitter and receiver, receiver only, transmitter only, and disabling both.

A third metasystem, volume, is controlled through the volume cycle command.
permalink return to top


volume cycle

Switches between whisper, speak, shout-capable, and muted. Shout-capable mode (100% master volume, with the voice, preamplifier and post-amplifier subsystems enabled) is the default.

volume set <number>

Sets the master sound volume to <number>%.

volume full|mute

Mutes or unmutes the master sound volume.

volume <verb> <channel>


mute: mutes the specified channel
unmute: unmutes the specified channel
toggle: toggles the specified channel

Sound effect channels:

tone: voice sample played when text emitted
chime: all sound effects from the speaker other than TTS messages
voice: TTS messages
menu: menu beeps only
permalink return to top


scheme boot|menu <number>
scheme voice <name>
scheme custom boot|menu <key1> <key2>

Configures the system sound schemes. Note that this does not affect the tone marker (the sound made when speaking); see personas and gender for more information.

boot: Sets the boot chime scheme or reports the number of boot chime schemes.
menu: Sets the boot chime scheme or reports the number of menu chime schemes.
voice: Sets the voice notification theme or reports the supported voice notification themes.
custom: Sets the sounds for a custom sound scheme, and switches to it.
permalink return to top


bootstyle <number>

Determines the amount of information reported while the unit is powering on.

0: detailed and slow
1: silent and slow
2: brief and slow
3: silent and slow (default)
4: detailed and fast
5: silent and fast
6: quiet and fast
7: silent and fast
permalink return to top


profile [<name>]

Loads power profile <name>. If no profile is specified, lists available power profiles.

profile save|delete <name>

Saves or deletes the power profile <name>. The system may store up to 9 power profiles.

Power profiles are presets used to select which subsystems are active. See subsystems for more information.

The default power profiles included with Companion are:

- full (all subsystems on)
- sleep (all subsystems off)
- idle (listen, identify, and IM)
- eco (local activity only)
- listen (listen, identify, and and receive IMs)
- emergency (focused on following orders)
permalink return to top


device [<device name> <command>]

Sends <command> to <device name> over the light bus (see development). If no arguments are specified, lists the attached devices.

device probe

Soft-resets the device manager by clearing the list of known devices and starting a device probe. This is a quicker procedure than a full hard reset of the device manager (e.g. reset device), which will perform up to seven full probes until it finds a battery.
permalink return to top



Lists the unit's identification information, along with a list of recognized users and active devices.
permalink return to top


follow [<username>]

Follows <username>. If no user name is specified, then following is toggled, i.e. if the unit is currently following someone, it is canceled, and if the unit is currently following no one, then it will start following the person who issued the command.

See leash and unleash for more idiomatic synonyms.
permalink return to top


color [save] <color definition>
color apply|save|reset|restore

Where <color definition> is either <<r> <g> <b>> (vector format), #<rrggbb> (web hex format), or <name>

Controls the unit's lighting color. <r> <g> <b> values may be either floating point (0.0-1.0) or 8-bit (0-255).

apply: forces the light bus to accept the current color
save: store the current color as the permanent color
reset: revert current and stored value to the default (company)
restore: revert to stored color

Additionally, the syntax color save <color> can be used to save and specify a color at once.

See the online manual for a list of supported color names.
permalink return to top


bolts lock|auto|unlock|cycle

Sets the integrity level of the safety bolt system.

lock: seals the bolts entirely, making removal of the controller impossible
auto: seals the bolts while the unit is active
unlock: disconnects the bolts entirely (DANGER: Do not remove controller while unit is running!)
cycle: switches to the next bolt-locking state

Note that the system's safety bolts automatically lock whenever the unit's console is locked (see lock) including when it is configured to lock automatically (see autolock).

This persists when the unit is powered down to prevent component theft.
permalink return to top


do [<script>]

Executes a script with Arabesque. If no script name is specified, a list of available scripts is provided. Arabesque scripts reside in user memory, and are identified with the a_ prefix. This prefix is not included in the name when using do.

Arabesque is a small superset of the standard system commands that adds conditional statements and some variables in order to facilitate batch processing. See online documentation for more information.

See also trigger, an alternative command for starting Arabesque scripts prefixed with e_.
permalink return to top


remark <message>

Sends a message directly to the unit. This is useful for ad hoc RLV commands.
permalink return to top



Locks the console immediately. This will lock the controller's safety bolts temporarily (see bolts). Locking prevents use of local access until the PIN has been entered correctly. See also pin, autolock, and unlock.
permalink return to top


unlock <pin>

Unlocks the console. This may release the controller's safety bolts (see bolts) if they are configured to be in the unlocked state. See lock for more information on console locking.
permalink return to top



Lists all registered commands. Asterisks in the list indicate that access level 1 (manager) or higher is required; ellipses (...) indicate the command has additional parameters.

This list is automatically regenerated on reboot, although installed software may add and remove entries at any time.

commands prefix [default|<new prefix>]

Changes the prefix used for local commands issued on channel 1. If default is specified, this will be derived from the first two characters of the unit's nominal designator, e.g. c4 for c4itlin.

commands local on|off|toggle

Enables or disables parsing of commands input on channel 1. Commands must be prefixed properly (see above) and the accessor must have local access permissions.

Manager access or higher is required to adjust prefix and local settings.
permalink return to top


help <topic>

Displays documentation for the system. For an introduction, type help with no additional parameters.
permalink return to top


sxdwm connect|menu <name>|disconnect|dump-dynamic-menus|reset|status

Controls the Exhibition display manager. This is responsible for managing all of the system's menus.
permalink return to top


chorus [on|off|toggle]

Controls whether the chorus feature is enabled. Chorus allows operators and other units to anonymously relay messages through the system for dramatic effect or public announcements.
permalink return to top


drainprotect [on|off|toggle]

Controls whether or not remote control messages (over the unit's public and private data buses) and ACS-based chargers may drain power.
permalink return to top


access local|remote [on|off|users|group|cycle]

Determines which users can access the system using each modality:

local: console menu (touch) access, /1 <prefix> local command access, light bus devices, navigation nodes, and RLV relay devices.
remote: access through a remote control or another device that uses the command bus.

on: enabled for everyone; unrecognized users will be prompted if consent is enabled (see guests)
off: disabled for everyone but owners
users: enabled for all registered users (see users)
group: as users, but members of the unit's active group will be treated as level 0 users

access self [on|off|toggle]

Controls whether or not the unit can access itself. This setting takes effect immediately. The safeword command can be used to cancel it.
permalink return to top


authority <organization name>
authority NONE

Sets or clears the name of the authority that has control over the unit. This information is displayed by the about command, as well as by certain accessories, such as the SuperBit titler.

The authority is overridden upon entry into a domain. See domain for more information on domains.
permalink return to top


name <unit name>
name NONE

Sets or clears the unit's nominal designator. Must be valid [ ASCII]. If the unit has no name, then the system will default to displaying the serial number instead.
permalink return to top


keychain [list]
keychain reset
keychain save|load|dump
keychain rewrite <value>
keychain remove|promote|demote|add|submit <user key>

Controls the system's access control list, i.e. the list of users who are authorized to use the unit and their corresponding security clearances.

list (or no arguments): lists the current users and their ranks.

reset: clears the user list, including permanent storage, and puts the unit under self-ownership. This can be performed by the unit or by any owner, and sends a notification message to all owners.
save: saves the keychain to permanent memory. This can be restored with keychain load or by resetting the user manager (see reset).
load: loads the keychain from permanent memory, overwriting the current user list.
dump: reports the current saved value of the keychain in permanent memory in raw format.
rewrite: replaces the saved value of the keychain without reloading it. (Manufacturer use only.)

remove: deletes a user.
add: adds a user.
promote: raises a user's security clearance by 1 level.
demote: lowers a user's security clearance by 1 level.
submit: makes a user the unit's sole owner (level 2 clearance). The submit command can only be used by a self-owned unit with no other owners.

Level 1 (manager) access or above is required for: save, load, dump, rewrite, add.
Equal rank is required for: promote, demote, remove. For example, managers may promote users to manager rank, or demote managers down to user rank. Users may always remove themselves.

See users for an explanation of user ranks.

The keychain command is completely disabled if the domain has locked the unit's user list. It must be left before the user list command can be used again, which can only be done by a manager or owner. See domain for more information.
permalink return to top


autolock on|off|toggle
autolock time <secs>

When enabled, the console will automatically lock after a specified period of inactivity. The default time is 30 seconds. See lock. When autolock is enabled, the safety bolts are also locked while the unit is powered down.

See bolts for more information on safety bolts.
permalink return to top


pin <pin>

Sets the PIN used for unlocking the console. The PIN must be a series of numeric digits. It is empty by default. See lock.
permalink return to top


gender [physical|mental|voice] inanimate|female|male|neuter|<custom>

physical: The pronouns used to describe the unit in actions.
mental: The pronouns used to describe the unit when it speaks about itself.
voice: The timbre to use in tone markers, i.e. the sounds that accompany speech.

Note that voice gender is separate from the voice used for system messages such as low battery warnings. See schemes. For many controllers and personas, the neuter voice gender is configured to produce beeping sounds instead of vocalizations.

There are four pronoun presets (feminine, masculine, neuter (they), and inanimate (it)), and custom pronouns can be specified independently for physical or mental requirements.

For custom pronouns, enter a string that satisfies the following template:

absolute possessive,possessive,subject,object,reflective,name

(With no spaces around the commas.) For example, to recreate the values for the neuter gender, one would enter:


These values are then available for use by personas and Arabesque scripts, as described in personas.
permalink return to top


xanadu list|servers|search|disconnect
xanadu connect <server>
xanadu install|info|upgrade|remove|cache|uncache|unpack <package>

Manages installed packages.

search: polls for available Xanadu package servers. Performed automatically on region change.
servers: lists available servers.
connect: connects to the server <server>.
disconnect: disconnects from the current server.

list: lists installed packages. If connected, combines this list with a list of packages on the server.
install: requests <package> from the server and attempts to install it.
info: gives info notecard (readme file) for <package>. This works for any package listed by xanadu list.
upgrade: installs <package> from the server. This guarantees the current version of <package> is removed first.
remove: removes <package> from the unit. A server connection is not required.
cache: saves <package> to the cache so it can be installed later.
uncache: removes <package> from the cache.
unpack: installs <package> from the cache.

Exact names (including versions) are required for installing, upgrading, and removing.
permalink return to top


audience on|off|toggle

Controls Audience piped audio. Analogous to the Vox pipeline (see vox), Audience captures incoming chat messages on channel 0 for modification. This feature is not yet complete, and so no modifications are yet supported.
permalink return to top


optics apply
optics default|<preset>

Sets a video filter using the specified Windlight preset. The special filter default disables the filter. apply re-applies the current settings.
permalink return to top


navigate start [<name>]
navigate auto
navigate speed <rate>

Controls navigation routing.

speed: sets speed of travel between nodes to <rate> meters per second. The default value for <rate> is 5.0.
start: manually start navigation at the last encountered node (or at <name> if specified; 96 m search range)
auto: toggle automatic starting of navigation.
permalink return to top



Reports the system information as tracked by ATOS/E. For more information, see the online manual.

sentinel inflict heat|combat|crash|external <amount>

Inflicts <amount> damage through the indicated method.

sentinel repair on|off|toggle

Toggles nanite auto-repair. Note that self-repair cannot fully heal the unit.

sentinel autoshield on|off|toggle

Toggles automatic shield activation. This is triggered whenever the unit collides with a fast-moving object, regardless of its own velocity. A compatible active barrier device, such as the MESH-2100 is required. (This does not include the MSH-2100b.)
permalink return to top



Reports the status of the lubricant and arousal monitoring systems. TESI is required.

lust moan

Emits a single randomly-selected voice sample indicating arousal.

lust leak <source> <rate>

Emits fluid particles from nozzle <source> (see lust parts, below) at the specified rate <rate>.

lust parts

Lists supported parts and current nozzle dilation levels.

lust plateau <level>

Prevents arousal from falling below <level>, on a floating point scale (0.0 to 1.0).

lust deposit <amount> <type> <red> <green> <blue>

Adds <amount> liters of fluid type <type> with color <red> <green> <blue> to the system. Any type other than lubricant will be treated as a contaminant. Normal fluid volume is 5 L.
permalink return to top



Lists supported system modules and their running states.

module reset <name>

Resets the indicated module. See also reset.

module info <name>

Reports detailed information about the specified module. The exact name (including leading underscore, for system modules) is required.
permalink return to top


task [map]

Lists the currently running tasks and threads and their modules of origin. If the map parameter is provided, lists all supported tasks and the modules they activate. The task map is only available if the kernel has been compiled with a special debug flag.
permalink return to top



Powers down the system immediately. See shutdown for more options.
permalink return to top



Powers down the system immediately. See shutdown for more options.
permalink return to top



Reboots the system immediately. See shutdown for more options.
permalink return to top


preload <sound>

Prepares the sound file <sound> for playback. This command causes the Arabesque script processor to sleep for 1 second after use.
permalink return to top


sound <key>

Plays a sound file over the audio output processor. The sound must either be located in the processor, or specified by UUID.

sound vox <name>

Plays a system voice message over the audio output processor. Possibilities are:

- battery-0
- battery-5
- battery-10
- battery-20
- battery-50
- teleport-complete
- operation-complete
- access-1
- access-0
- lock-0
- lock-1
- power-1
- power-0
- power-profile
- module-1
- module-0
- module-reset
- love-1
- love-2
- love-3
- love-4
- greet
- greet-2
- charge-1
- charge-0
- bye
- personality-0
- personality-1
- error
- error-charge
- error-critical
- error-device
- diagnostics-1
- diagnostics-0
- device-1
- device-0
- notice
- subsystem-1
- subsystem-0
- volume-100
- volume-20
- volume-10
- volume-0
- motors-0
- motors-1
- motors-2
- connect-1
- connect-0
permalink return to top


trigger [<event name>]

Runs a script with Arabesque identified as being an event script. Unlike normal Arabesque scripts (see do), these scripts start with the e_ prefix. No message is emitted if the script is not found.

Event scripts are activated automatically by the system during certain events, such as when the system boots or shuts down. As of Companion 8.4, the following events are supported:

e_charge-start: Called when charging begins.
e_charge-end: Called when charging ends.
e_boot: Called on system boot.
e_shutdown: Called on system shutdown.

Personas also have special initialization scripts, called px_ scripts. See personas for more information.
permalink return to top


charge <command>

Sends a command to the charger, if connected. Supported commands vary per charger. Type charger help while connected for a list of supported actions.
permalink return to top



Causes the unit to follow you.
permalink return to top



Causes the unit to cease following you.
permalink return to top


open [<app name>]

Opens a program from the applications menu. If no name is specified, a list is provided.
permalink return to top


range <distance>

Sets the distance at which the unit is to follow you, measured in meters. By default, <distance> is 5. See follow for more information.
permalink return to top


reset <module>

Restarts the indicated system module. Ownership may be required to restart some critical modules, such as the user manager and bootloader.
permalink return to top



This command is only usable by the unit. After notifying the unit's owner(s), it grants basic self-access to the unit. To fully regain autonomy, it is typically necessary to type keychain reset afterward.
permalink return to top


send <range> <channel> <message>

Sends <message> on channel <channel> to all objects within <range> meters. If <range> is 0, sends <message> to the unit's attachments. If <range> is region, sends to everything in the region.

The special keyword lights can be used to indicate that the message should be sent over the light bus. (See development.) permalink return to top


Synonym for the restraint command. See restraint for more information.
permalink return to top


restraint on|off|toggle|reset|auto|manual|cycle|status|debug

on/off/toggle: controls the RLV relay.
auto/manual/cycle: controls RLV auto-accept.
reset: clear all user-mode restrictions. (Does not affect system restrictions or enable subsystems.)
status: list active restraints
debug: toggle debug messages
permalink return to top


domain set <domain>
domain search
domain clear
domain sync

Controls domain membership. A domain is a central server that defines the unit's users, policies, and other settings.

Upon joining a domain with the 'set' command, the unit will automatically be assigned a role and immediately download user and configuration settings. By default, this role is 'candidate'.

Depending on the domain's configuration, membership in a group may be required to join.
permalink return to top


guests whitelist|blacklist [<key>]
guests unwhitelist|unblacklist <key>
guests tidy white|black
guests default accept|deny|toggle
guests consent on|off|toggle
guests consent timeout <seconds>

Allows the unit to control access by unauthenticated users (hereafter called 'guests'.) To return to behavior from 8.3 and earlier versions, set guests default accept and guests consent off.

There are four lists: trusted, permitted, banned, and refused. The first two are whitelists, the last two are blacklists. The 'permitted' and 'refused' lists differ from 'trusted' and 'banned' only in that their entries are temporary.

Whitelisted guests may access the system as long as access is set to public for their interaction modality (see access).

whitelist: lists all whitelisted guests.
whitelist <key>: adds a user to the trusted list.
unwhitelist <key>: removes a user from both whitelists.

blacklist: lists all blacklisted guests.
blacklist <key>: adds a user to the banned list.
unblacklist <key>: removes a user from both blacklists.

Temporary list entries (permitted and refused) will time out after a certain period of inactivity. The default is ten minutes.

tidy: empties the temporary (permitted and refused) lists.

default: controls what happens if the unit fails to respond to the confirmation prompt within the consent timeout; accept adds the user to the permitted list (whitelisted for 10 minutes), and deny adds to the refused list (blacklisted for 10 minutes).

consent: if enabled, the unit is prompted to decide what to do whenever a new guest attempts to access the system. If disabled, the default action (see above) automatically occurs.

The default consent timeout is 10 seconds; this can be adjusted with the guests consent timeout subcommand.
permalink return to top


aux GPS|audio|radio|video on|off|toggle

Configures auxiliary power. This provides power to some subsystems for a limited time while the unit is powered down.

The subsystems that can be controlled are GPS (view location), audio (hearing), radio (receive/transmit IMs), and video (vision). Some motor functionality (self-touching) is always allowed when auxiliary power is enabled.

If auxiliary power is completely disabled, the unit will not be able to do any of the above when powered down.

Auxiliary power, as the name implies, draws power from a secondary source, called the auxiliary capacitor. Subsystems continue to draw power at their normal rate from the capacitor, and when it is depleted, the unit is totally inactivated.

The auxiliary capacitor is recharged whenever the unit is powered on by drawing power from the main battery. Type aux without any arguments to see its status.
permalink return to top


beacon fire|test|on|off|toggle|interval <minutes>|message <message>

Configures the distress beacon for contacting the unit's owners and managers when the unit is out of power. Normally, the beacon triggers on a repeating interval.

Firing the beacon will cause it to send the configured message to the unit's owners. A test fire adds extra text to the end of this message indicating that there is no crisis.

If GPS is on auxiliary power when the beacon is fired, the unit's position will also be included in the distress signal.

Firing the beacon while the unit is powered down drains the auxiliary capacitor. See aux for more information.

@beacon fire can be used even when the unit does not have self-access or is powered off.
permalink return to top


tutorial on|off|toggle
tutorial forward on|off|toggle
tutorial cycle

Controls the hints system. When forwarding is enabled, messages are displayed through the Screen Console Manager HUD (_console-screen). When it is disabled, messages are shown in chat. cycle switches between the three possibilities (off, chat, HUD).
permalink return to top


policy subsystems|persona|apparel|vox|curfew on|off|toggle
policy radio open|users|owner|cycle

Controls enforcement of the specified policy. The following are the effects of the indicated policies, when turned on:

    subsystems: prevents adjustment of subsystem (power) settings.
    persona: prevents adjustment of persona settings.
    apparel: prevents adjustment of apparel on the unit.
    vox: prevents adjustment of the speech pipeline.
    curfew: forces the unit to teleport home at a specified time (see below)
    radio: limits radio communications to users or owners only.

The keywords lock and unlock may be used in place of on and off.

policy curfew time <hh>:<nn>

Forces the unit to teleport home at <hh>:<nn>. Time must be specified in 24-hour format, SLT.

policy home here
policy home set <sim> <x> <y> <z>

Sets the home location. The unit will teleport to this location at the curfew time if curfew is enabled.
permalink return to top


conf <key>
conf <key> := <value>
conf delete <key>

Accesses or updates the key/value configuration data store. Note that delete is recursive.
permalink return to top



Engages normal power and initiates the start up sequence. This can only be issued by the cortex for self-booting while the unit is turned off or under auxiliary power; attempting to use it at any other time, or remotely, will fail. on is a synonym of this command. Note that this is the only way for a unit to turn itself on when auxiliary power is depleted.
permalink return to top