45 handy Chrome OS commands to run in Crosh (2026)

Press Ctrl + Alt + T on a Chromebook to open Crosh, then type help or help_advanced to list the commands your ChromeOS build supports.

The 45 commands below are grouped by job: system information, networking, hardware checks, files and logs, Linux virtual machines, security flags and developer-mode customisation, with a note on which ones need developer mode.

How to access Crosh on Chrome OS devices

Crosh is the ChromeOS shell, a small set of command-line tools built into every Chromebook for troubleshooting. It has no icon in the launcher, so the keyboard shortcut is the only way in.

  1. Sign in to your Chromebook. A guest session also works.
  2. Press Ctrl + Alt + T together.
  3. Wait for the crosh> prompt to appear in a new window.
  4. Type help and press Enter to see the common commands.
  5. Type help_advanced and press Enter to see every command available on your device.

Nothing needs to be installed first. Google built Crosh in so it still works when the network is down, which is exactly when you need it.

Steps to open Crosh, switch windows and run several sessions

Crosh behaves like any other window once it is open. These steps cover the parts people trip over: getting back to the browser, opening a second session and reaching the full shell.

  1. Press Ctrl + Alt + T to open the first Crosh session.
  2. Press Alt + Tab to return to the browser without closing Crosh.
  3. Press Ctrl + Alt + T again to open another, independent session.
  4. Press Alt + Tab to move between the open sessions.
  5. On a device in developer mode, type shell and press Enter to get the full Linux command prompt.
  6. Close the window when you are done to end that session.

Important tips before you run Crosh commands on a Chromebook

The command list changes between releases, channels, admin settings and developer mode. Check these points before you assume a command is broken.

Check Why it matters
Your ChromeOS release and channel Google adds and removes Crosh tools between versions, so help_advanced on your device is the final word
Work or school management An administrator can limit what runs and can block developer mode entirely
Developer mode on or off Commands after shell only work in developer mode; in normal mode Crosh refuses the shell command
Your files are backed up Turning developer mode on or off triggers a wipe of the device's user data
Linux development environment The vmc commands manage the Linux virtual machine, so they matter only if Linux is set up

Understanding the importance of using commands in Crosh

Crosh is one of three command lines on a Chromebook, and each reaches a different layer. It works much like the Windows 11 Run commands do on a PC: short names that open tools the regular interface hides.

Command line How to open it What it can reach Developer mode needed
Crosh Ctrl + Alt + T Built-in diagnostics, the Linux VM manager (vmc) and modem logging No
Crosh shell Type shell inside Crosh The full ChromeOS Linux system, with sudo for root Yes
VT-2 console Ctrl + Alt + → (the F2 key position) A text login as the chronos user, outside the browser Yes
Linux Terminal app Launcher, after Linux is turned on A Debian container inside a virtual machine, separate from ChromeOS No

Use Crosh for the ChromeOS side of a problem and the Terminal app for software you install with APT. The two never share a prompt.

Which Crosh commands work without developer mode?

Every command in this list is numbered. Match your situation to a row to see which numbers apply to you.

Your situation Commands you can use Why
Normal Chromebook, Linux turned off #1–5 and #8 Help, architecture and modem logging run in plain Crosh
Normal Chromebook, Linux turned on #1–5, #8, #25–34, #45 The vmc and vsh tools manage the Linux virtual machine without developer mode
Developer mode on All of them shell (#6) unlocks the Linux prompt that the remaining commands need
Managed work or school device Whatever help_advanced lists The administrator decides which tools and modes are available

Basic commands for system information in Crosh

Start with these. The help commands describe every other command on your build, so learn them first.

# Command What it does Mode
1 help Lists the most common Crosh commands Normal
2 help_advanced Lists every available command, including debugging tools; scroll up to see the full list Normal
3 help <command> Shows usage for one command, for example help vmc Normal
4 <command> --help Same detail as help <command>, typed after the command name Normal
5 uname -m Prints the processor architecture, such as x86_64 for Intel or AMD Normal
6 shell Opens the full Linux prompt as the chronos user Developer
7 sudo -i Switches the shell to a root prompt for system-level commands Developer

Press Tab after typing the first letters of a command to complete it. That is the quickest way to find a tool when you half remember its name.

Network troubleshooting commands in Crosh

Google documents these for cellular modems, the hardest network fault to diagnose from Settings. For Wi-Fi and Ethernet tools, run help_advanced; the network commands on your build are listed there.

# Command What it does Mode
8 modem set-logging debug Turns on debug logging in ModemManager without restarting it Normal
9 sudo stop modemmanager Stops the modem service so you can talk to the modem directly Developer
10 ls /dev/ttyACM* /dev/ttyUSB* Lists the serial ports the modem exposes Developer
11 sudo restart modemmanager MM_LOGLEVEL=DEBUG Restarts the modem service with debug logging from the start Developer

Debug logs land in /var/log/messages. Run your test, then read that file with command #21.

Battery and power management commands in Crosh

Battery tools in Crosh vary by device and release, so check help_advanced for them. The built-in Diagnostics app runs the same kind of battery, CPU and memory checks without any typing.

  1. In Crosh, type help_advanced and look for battery or power entries on your build.
  2. Type help followed by the tool name to read its options before you run it.
  3. For a guided check, open the launcher, search for Diagnostics and open the app.
  4. Read the battery section of the app, which checks for battery problems as well as CPU, memory and Wi-Fi faults.
  5. In a developer-mode root shell, type reboot (command #12) to restart the Chromebook from the command line.

Device and hardware diagnostics commands in Crosh

These run from the developer-mode shell. Bluetooth tools are documented for developer devices, so a command not found reply means your image does not ship that tool.

# Command What it does Mode
13 grep '^flags\s*:.* vmx ' /proc/cpuinfo Shows whether an Intel processor reports VMX virtualisation support Developer
14 dmesg | tail Prints the latest kernel messages, useful right after a device or mount error Developer
15 btmgmt advinfo Shows how many Bluetooth advertisements are registered Developer
16 btmgmt clr-adv Clears registered Bluetooth advertisements Developer
17 restart bluetoothd && restart ui Restarts the Bluetooth service and the ChromeOS interface together (root) Developer
18 btmon -w /var/log/btmon.log Records Bluetooth traffic to a log file until you press Ctrl + C Developer
19 dbus-monitor --system > /var/log/dbus.log Records system D-Bus messages between services to a file Developer

Managing files and directories with Crosh

Plain Crosh has no file commands; file work happens in the developer-mode shell. Knowing where ChromeOS keeps things is most of the job.

Location What is there
/var/log/messages Operating system and kernel log; older copies are messages.1, messages.2 and so on
/var/log/chrome/chrome Chrome's log before sign-in, and during the session in developer mode
/var/log/ui/ui.LATEST Chrome's log between sign-in and the start of the user log
/home/chronos/user/MyFiles/Downloads Your Downloads folder, the same one the Files app shows
/media/removable/ USB drives and SD cards, one folder per drive label
/etc/chrome_dev.conf Extra Chrome startup flags, editable only after rootfs verification is removed

Basic file operations in the Crosh shell

Logs are the files you will read most. These commands read them and copy them somewhere the Files app can see.

# Command What it does Mode
20 cat /var/log/chrome/chrome | grep -e "keyword 1" -e keyword2 Prints only the Chrome log lines that contain your search terms Developer
21 tail /var/log/messages Shows the last lines of the system log Developer
22 cp /var/log/chrome/chrome /home/chronos/user/MyFiles/Downloads Copies the Chrome log to Downloads so you can attach or share it Developer

File management commands for ChromeOS config and log files

Editing system files is the step that changes how ChromeOS starts, so it needs the extra unlock covered under security below.

# Command or address What it does Mode
23 sudo vi /etc/chrome_dev.conf Opens the Chrome flags file; each line becomes a startup argument such as --enable-logging Developer, rootfs verification removed
– file:///var/log/chrome/chrome Typed in the Chrome address bar, opens the same log without any shell Normal

The vi on ChromeOS behaves like classic vi. Press i to type, then Esc and :wq to save and quit.

Accessing external storage from Crosh

USB drives and SD cards mount under /media/removable/. The vmc commands can also store Linux disks and backups there, and those work without developer mode.

# Command What it does Mode
24 ls /media/removable Lists the label of every connected USB drive or SD card Developer
25 vmc create-extra-disk --size=1G extra-disk.img "USB Drive" Creates a 1 GB data disk on the drive labelled USB Drive Normal
26 vmc start termina --extra-disk "/media/removable/USB Drive/extra-disk.img" Starts the Linux VM with that external disk attached; stop the VM first Normal
27 vmc export termina termina-backup "USB Drive" Saves the Linux VM disk as a compressed archive on the drive, or in Downloads if you leave the drive name off Normal

Put quotes around any drive label that contains spaces, such as "My USB Drive". Without them the command reads each word as a separate argument.

Tips for effective file management on a Chromebook command line

  1. Copy files into /home/chronos/user/MyFiles/Downloads when you want to open them in the Files app.
  2. Press Shift + Alt + M to open the Files app and check that the copy arrived.
  3. Quote every path or label that contains a space.
  4. Add | grep and a keyword when reading long logs, rather than scrolling the whole file.
  5. Use vmc export before you remove Linux or powerwash, so the Linux disk survives.
  6. Delete large exports from Downloads once they are safely stored elsewhere.

Process and task management commands in Crosh

On a Chromebook the processes you manage from Crosh are mostly the Linux virtual machines and the ChromeOS interface itself. Pick the row that matches what you want to stop or restart.

What you want to manage Commands Mode
See which Linux VMs exist #28 Normal
Get a prompt inside a VM #29 Normal
Create, start, stop or delete a VM #30–33 Normal
Open the default Linux container #34 Normal
Restart the ChromeOS interface #35–36 Developer
Reset every VM service at once #37 Developer

Viewing active processes and Linux VMs in Crosh

# Command What it does Mode
28 vmc list Lists the virtual machines that exist on your account Normal
29 vsh Connects to a running VM instance; run help vsh for the arguments your build expects Normal

The default Linux VM is named termina. Inside it you can run cat /etc/lsb-release to see which VM image version is running.

ChromeOS Linux architecture diagram with the Termina VM and Debian container
The vsh tool links ChromeOS to the vshd service inside the Termina VM, the default VM that vmc start termina boots. (Image: Google)

Managing processes and VMs with Crosh commands

Closing the Terminal app does not stop the Linux VM. Use these commands when you want it shut down, rebuilt or restarted cleanly.

# Command What it does Mode
30 vmc create <VM name> Creates a new, separate VM Normal
31 vmc start <VM name> Starts a VM, for example vmc start termina Normal
32 vmc stop <VM name> Shuts a VM down Normal
33 vmc destroy <VM name> Deletes a VM and its disk permanently Normal
34 vmc container termina penguin Starts the default penguin Linux container inside termina Normal
35 sudo restart ui Restarts the ChromeOS interface, including Chrome itself Developer
36 stop ui Stops the ChromeOS interface entirely (root); used before system-level resets Developer
37 stop vm_concierge && start vm_concierge Stops every running VM and the services around them, then starts them fresh (root) Developer

Monitoring system resources on a Chromebook

Live CPU and memory figures are easier to read in the Diagnostics app than in a terminal. Use Crosh to find any resource tools your build adds.

  1. Open the launcher and search for Diagnostics.
  2. Open the Diagnostics app and review its CPU and memory checks.
  3. Note any check that reports a problem before you change anything.
  4. Open Crosh with Ctrl + Alt + T and type help_advanced to check for extra monitoring tools on your release.
  5. If a Linux app is the suspect, run vmc stop termina and watch whether the figures drop.

Additional tips for Crosh and Linux VM processes

Behaviour What to do about it
VMs keep running after you close every Linux app Stop them with vmc stop termina or from the Terminal app's right-click menu
VM and container processes end when you sign out Save work inside Linux before signing out; nothing restarts on its own at the next sign-in
VM data survives sign-out and sign-in Use vmc destroy only when you really want that data gone
A VM stopped by a power loss can lose data Shut VMs down with vmc stop before you close the lid on low battery
Secondary profiles cannot open the Terminal app They can still start VMs from Crosh, though Files app integration may not work

Security and privacy commands in Crosh

These change how the Chromebook protects itself. Run them only on a device you own and are prepared to recover.

# Command What it does Mode
38 crossystem dev_boot_usb=0 Turns booting from USB and SD cards back off Developer, root
39 crossystem clear_tpm_owner_request=1 Asks the firmware to clear the TPM owner at the next reboot; Google uses it with a full data wipe to send a test device back to setup Developer, root
40 sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification Removes root filesystem verification so system files can be changed; you may be asked to re-run it with --partitions Developer

Once rootfs verification is removed, returning to normal mode needs a recovery image, and automatic updates may fail until a full update downloads.

Advanced troubleshooting commands in Crosh

Both commands below need a root prompt, so type shell and then sudo -i first.

# Command What it does Mode
41 generate_logs Packs everything under /var/log into a /tmp/debug-logs_<date>.tgz archive and prints its path Developer, root
42 flashrom -r /tmp/bios.bin Reads the firmware into a file so you can inspect it; this only reads and does not write Developer, root

Copy the log archive to Downloads with cp (as in #22) before you restart, because /tmp is cleared on reboot.

Customizing and optimizing Chrome OS with commands

These commands change how the Chromebook boots or how its Linux VM starts. The first two need developer mode; the third does not.

# Command What it does Mode
43 crossystem dev_boot_usb=1 Allows booting from a USB drive or SD card from the developer-mode boot screen Developer, root
44 crossystem dev_boot_legacy=1 Turns on the alternative bootloader feature after one has been installed Developer, root
45 vmc start --kernel $KERNEL --initrd $INITRD termina Boots the Linux VM with your own kernel and initrd files from MyFiles/Downloads Normal

For Chrome flags, edit /etc/chrome_dev.conf (#23) and then run sudo restart ui (#35) so Chrome picks up the change.

Best practices for using Crosh commands safely

  1. Run help <command> before any command you have not used, and read what it changes.
  2. Back up your files before you turn developer mode on or off, because the switch wipes local data.
  3. Export the Linux VM with vmc export before running vmc destroy or rebuilding Linux.
  4. Avoid commands that write to firmware or system partitions unless you have a recovery USB ready.
  5. Leave managed work or school devices alone; ask the administrator instead of forcing developer mode.
  6. Turn USB boot back off with crossystem dev_boot_usb=0 once you no longer need it.
  7. Return to normal mode by pressing Spacebar at the firmware screen when you are finished.

How to check a Crosh command worked

  1. Look for the crosh> prompt again; it returns when a command finishes.
  2. After shell, confirm the prompt changed to chronos@localhost.
  3. After any vmc start or vmc stop, run vmc list and check the VM's state.
  4. After vmc export or generate_logs, press Shift + Alt + M and find the file in Downloads or on the drive.
  5. After a crossystem change, restart and check the developer-mode boot screen for the new option.

Crosh commands on Chrome OS FAQ

How do you open Crosh on a Chromebook?

Press Ctrl + Alt + T while signed in, including in a guest session. Crosh opens in its own window with a crosh> prompt. It has no launcher icon, so that shortcut is the only way to start it.

How do you use Chrome OS commands in Crosh?

Open Crosh with Ctrl + Alt + T, type a command and press Enter. Start with help for the common commands and help_advanced for the full list. Add –help after any command name, or type help followed by the name, to see its options.

Does Crosh need developer mode?

No. Crosh itself, the help commands, modem logging and the vmc Linux VM tools all run in normal mode. Developer mode is needed only for the shell command, which opens the full Linux prompt that most file, Bluetooth and boot commands require.

Why does the shell command not work in Crosh?

The shell command works only when the Chromebook is in developer mode. In normal mode Crosh refuses it by design. Turning developer mode on wipes the device, and work or school administrators can block it completely.

Is Crosh the same as the Linux Terminal on a Chromebook?

No. Crosh talks to ChromeOS itself and opens with Ctrl + Alt + T. The Linux Terminal app runs a Debian container inside a virtual machine after you turn on Linux in Settings, under About ChromeOS and Developers.

How do you put Chrome OS on a PC?

Install ChromeOS Flex, Google's version of ChromeOS for existing PCs and Macs. You need a USB drive of 8 GB or more, and the PC needs an x86-64 Intel or AMD processor, 4 GB of RAM and 16 GB of storage.

How do you get Chrome OS on a Windows computer?

Create a ChromeOS Flex USB installer and boot the Windows computer from it. You can run ChromeOS Flex from the USB drive first to try it, then install it, which replaces Windows on that drive. Google guarantees support only on certified models.

How do you change the Chrome OS channel?

Sign in as the owner, open Settings, select About ChromeOS, then Additional details, and select Change channel next to Channel. Moving to a more stable channel powerwashes the Chromebook and deletes local data, so back up first.

How do you turn developer mode off after using Crosh?

Restart the Chromebook and press the Spacebar at the firmware screen. On a tablet without a keyboard, use the volume keys to choose Enable OS Verification and press Power. If you changed system files, you may need a recovery image.

Bottom line: which Crosh commands to learn first

Learn help_advanced, help <command> and the vmc family first, and only move on to shell commands if you really need developer mode. Those commands work on any Chromebook without a wipe, they describe every other tool on your exact build, and vmc fixes and backs up the Linux environment that most Crosh users are troubleshooting.

Philip Celasco

Philip is a Texas-based technology writer and IT administrator at Techdows.com with more than 10 years of experience creating practical content for everyday users and professionals. He specializes in web browsers, particularly Chromium-based platforms such as Google Chrome, Microsoft Edge, Brave, and Opera. Through his work as an IT administrator, Philip has hands-on experience managing devices, configuring browser policies, troubleshooting software and network issues, and helping people resolve problems that affect productivity and security. His articles are based on practical testing and real-world technical experience. He covers browser settings, extensions, performance problems, privacy controls, security features, and Windows troubleshooting. Outside work, Philip enjoys the quieter side of life in Texas and stepping away from the screen when he can. He has two kids, two cats and loves to play golf with his mother during the weekends.

Leave a Reply

Your email address will not be published. Required fields are marked *