25 Crosh Terminal Commands All Chromebook Users Should Know
The screen freezes just as you click the mute button on your morning video call. You wait. Nothing happens. Your cursor sits dead in the center of the display, mocking you.
You probably bought a Chromebook because they are famously simple. They boot up in seconds, update silently in the background, and practically run themselves. Until they refuse to cooperate. When a Chrome OS device acts up, the minimalist interface suddenly feels like a locked door. You click around the basic settings menu, finding nothing but wallpaper options and Wi-Fi toggles. It feels entirely helpless, right?
Behind that locked door lives a surprisingly powerful diagnostic shell. It goes by the name Crosh (Chrome OS Developer Shell), and it is hiding right under your fingertips. Press Ctrl + Alt + T on your keyboard right now. A sterile, black browser tab opens up, waiting for input. If you want to stop feeling like a mere passenger on your own machine and actually take control of your hardware, you need to internalize the 25 Crosh Terminal Commands All Chromebook Users Should Know.
I learned this the hard way back in late 2019. I was consulting for a mid-sized logistics firm out of Chicago. We had just deployed a fleet of 450 Lenovo ThinkPads running Chrome OS to the warehouse floor. Within three weeks, the complaints started pouring in. Scanners were dropping off the network. Batteries seemed to die after four hours instead of the promised ten. The standard IT playbook suggested we box them all up and ship them back to the manufacturer for hardware replacement.
That would have cost the company tens of thousands of dollars in lost productivity. Instead, we applied a localized troubleshooting methodology—internally dubbed the Chrome OS Direct Diagnostic Protocol. We sat down with the failing machines, opened the terminal, and started interrogating the operating system directly. We found out that 22% of the machines simply had a stuck power-management process chewing through background memory, while the network drops were caused by a specific local DNS conflict. We fixed almost everything without shipping a single unit back. That experience solidified my belief that memorizing the 25 Crosh Terminal Commands All Chromebook Users Should Know is absolutely mandatory for anyone who relies on these machines daily.
The Hardware Interrogators
Before you blame the Wi-Fi or a bad web application, you need to check the physical health of your machine. Hardware degrades. Lithium-ion cells lose their capacity to hold a charge. RAM sticks develop microscopic faults. These commands pull the raw data directly from your motherboard.
1. battery_test [seconds]
This is arguably the most valuable tool in the entire shell. If you type battery_test without any numbers, it runs a quick 300-second check. But if you type battery_test 60, it evaluates your battery’s discharge rate over exactly one minute.
The output gives you the exact battery health percentage. If your Chromebook is fresh out of the box, that number should sit around 99% or 100%. If you have been dragging this laptop to coffee shops for three years and that health metric reads 68%, you finally have empirical proof that your battery is physically dying. No amount of software tweaking will fix a chemically depleted cell. You need a replacement.
2. battery_firmware info
Sometimes the battery hardware is perfectly fine, but the tiny micro-controller managing the power flow gets confused. Typing battery_firmware info spits out the exact version of the firmware managing your power delivery.
Why does this matter? If you are experiencing sudden shutdowns when the battery says 40%, you might have a firmware mismatch. Checking this info allows you to see if the battery controller is actually communicating properly with the main logic board.
3. memory_test
Random crashes. Tabs suddenly refreshing for no reason. A complete freeze when you open Google Sheets. These are classic symptoms of failing RAM.
Type memory_test and hit enter. Go grab a coffee, because this takes a while. The system aggressively writes patterns of data to your available memory and tries to read them back. If it finds a single misaligned byte, it throws an error. A passed memory test means your hardware is solid, pointing your troubleshooting efforts back toward software extensions or bad web code.
4. top
If you have ever used a Linux machine, you know this one. While Chrome has a built-in Task Manager (accessible via Search + Esc), top gives you the unfiltered, raw Unix view of what is eating your processor cycles.
It updates in real time. You will see a constantly shifting list of processes. Look for the “%CPU” column. If an obscure background process is sitting at 98% CPU usage while you are doing absolutely nothing, you have identified the culprit behind your sluggish performance. Press q to quit the live feed.
5. uptime
A beautifully simple command. uptime tells you exactly how long your machine has been running since the last physical reboot.
People treat Chromebooks like phones. They just close the lid and assume it goes to sleep. Weeks go by. Background processes pile up. Memory fragments. If you type this command and see that your laptop has been awake for 47 days, you do not need a complicated diagnostic. You just need to turn the thing off and turn it back on.
Network Sleuthing and Diagnostics
Chrome OS is effectively a very thin layer over the web. If your connection dies, the computer becomes a rather expensive paperweight. When the little Wi-Fi fan in the corner shows full bars but you cannot load a single webpage, you need these specific networking tools. Mastering this specific section of the 25 Crosh Terminal Commands All Chromebook Users Should Know will save you hours of frustrating calls with your internet service provider.
6. ping [domain]
The granddaddy of all network tests. Type ping google.com. Your computer sends a tiny packet of data to Google’s servers and waits for a reply.
You are looking for two things here: time and packet loss. If the time is under 40 milliseconds, your connection is snappy. If the time is 800 milliseconds, you are suffering from severe lag. If it says “Request timeout,” your packets are falling into a black hole. Press Ctrl + C to stop the endless pinging.
7. tracepath [domain]
Ping tells you if you can reach the destination. Tracepath tells you exactly how you get there.
Type tracepath 8.8.8.8. The terminal maps out every single router and server your data hops through to reach Google’s DNS server. If the trace dies at the very first hop (your home router), the problem is inside your house. If it dies at the fourth hop, your internet provider is dropping the ball somewhere out in your neighborhood.
8. network_diag
This is the heavy artillery. If you do not have the patience to run individual pings and traces, just type network_diag.
The OS will execute a massive suite of connectivity tests. It checks your local IP address, your gateway, your DNS resolution, and your HTTPS handshake capabilities. Once it finishes, it generates a highly detailed text file saving the results directly to your Downloads folder. You can hand this file straight to a network administrator.
9. route
Routing tables dictate exactly where network traffic goes. If you are using a VPN or a complex corporate network, your traffic might be getting pushed down the wrong pipe.
Typing route displays exactly how your Chromebook is directing local network traffic. It looks like a confusing wall of IP addresses at first, but you are primarily looking for the “default” destination. If your default gateway is missing, your computer literally does not know how to find the internet.
10. packet_capture
This is bordering on advanced network engineering. packet_capture essentially acts as a localized wiretap for your own network card.
It records every single piece of data entering and leaving your Wi-Fi antenna. You can specify parameters, like capturing only traffic on a specific port. It saves a .pcap file in your Downloads folder. You can later open this file in a program like Wireshark on another machine to see exactly what is failing at a microscopic, packet-by-packet level.
To keep these networking tools straight, I recommend referencing this structural breakdown when diagnosing local connection failures:
| Command | Primary Use Case | What to Look For |
|---|---|---|
ping |
Checking basic internet reachability. | High latency (ms) or dropped packets. |
tracepath |
Finding where the connection drops. | The exact IP address where the trace stops responding. |
network_diag |
Comprehensive automated testing. | Failures in DNS resolution or local gateway routing. |
packet_capture |
Deep-level traffic analysis. | Generates a .pcap file for external review. |
System Management and Core OS Tweaks
Sometimes the issue is not hardware, and it certainly is not the network. The operating system itself just gets tangled up in its own logic. These commands allow you to manipulate how Chrome OS handles updates, time, and background logging.
11. p2p_update
Imagine a classroom with thirty Chromebooks. They all turn on at 8:00 AM and simultaneously try to download a 400MB Chrome OS update. The school’s network instantly chokes.
The p2p_update command solves this. By enabling peer-to-peer updates, you allow Chromebooks on the same local network to share update files with each other, completely bypassing the external internet bottleneck. You can type p2p_update enable to turn it on, or p2p_update show to see how many connections are currently active.
12. syslog
When things break, computers complain. They write down exactly why they broke in a hidden file called a system log.
Typing syslog followed by specific parameters lets you read these complaints. If your machine randomly restarted yesterday at 3:00 PM, the system log holds the exact error code that caused the panic. It takes a bit of technical literacy to parse the wall of text, but searching for the word “error” or “fatal” usually points you right at the bleeding edge of the problem.
13. rollback
Treat this command with extreme respect.
Occasionally, Google pushes an OS update that breaks something vital. Maybe your specific brand of Bluetooth mouse stops working, or your external monitor goes black. If you type rollback, the system will attempt to revert to the previous version of Chrome OS stored on your hard drive.
Here is the catch. A rollback triggers a complete Powerwash. It wipes every single local file, download, and setting off the machine for security reasons. Only use this if the current update has rendered your machine fundamentally unusable.
14. rlz
This is a strange, highly specific command. RLZ is a tracking string Google uses to measure promotional campaigns.
If you bought your Chromebook through a specific retailer promotion, the RLZ string tracks that activation. Typing rlz enable or rlz disable lets you interact with this tracking token. Most normal folks will never touch this, but privacy advocates often jump into Crosh specifically to check their RLZ status and ensure promotional tracking is turned off.
15. set_time
Chromebooks pull their time from network servers. If the internet goes down, or if you are trapped on a restrictive hotel Wi-Fi that blocks NTP (Network Time Protocol) traffic, your computer’s clock might drift.
If your clock is wrong, secure web pages refuse to load. HTTPS certificates rely on accurate timestamps to verify validity. If you find yourself in this annoying loop, you can manually force the system time using the set_time command, formatted as a string of numbers representing the exact date and minute.
Connectivity and Bluetooth Mastery
Wireless peripherals are great until they refuse to pair. Chrome OS has a notorious reputation for dropping Bluetooth connections or failing to recognize older headsets. These tools bypass the pretty graphical interface and talk directly to the radio chips.
16. bt_console
When you click the Bluetooth icon in the lower right corner and your headphones just sit there spinning, it is time to drop into the bt_console.
This command opens up a completely separate sub-shell dedicated entirely to the BlueZ Bluetooth stack. From here, you can type scan on to see the raw MAC addresses of every device emitting a signal in your room. You can manually force a pairing by typing pair [MAC Address]. It strips away the user interface delays and forces the hardware to shake hands.
17. connectivity
You have Wi-Fi, but something feels broken. The connectivity command runs a very specific, silent background check against Google’s captive portal servers.
It essentially asks the machine, “Can I actually reach the wider internet, or am I stuck behind a hotel login page?” It provides a clean, simple status report on your current routing state without flooding the screen with the technical jargon of a full network diagnostic.
18. wifi_power_save
Chromebooks aggressively save battery. One of the ways they do this is by slightly powering down the Wi-Fi chip during moments of inactivity.
Usually, this works flawlessly. But on some older routers, this micro-sleep causes the connection to drop entirely. You can type wifi_power_save disable to force the network card to stay fully powered 100% of the time. Your battery life might take a tiny hit, but your connection stability will skyrocket.
19. chaps_debug
This is deep in the weeds of enterprise security. Chaps is the daemon that manages cryptographic tokens and certificates on Chrome OS.
If you are trying to connect to a highly secure corporate VPN or a university network that requires specific digital certificates, and it keeps failing, chaps_debug allows you to alter the logging verbosity of the security daemon. You can set it to spit out highly detailed error logs to figure out exactly which certificate is failing validation.
20. verify_ro
Chrome OS prides itself on security. Every time you boot up, the system checks its own read-only firmware to ensure no malicious software has tampered with the core boot files.
You can run this verification manually by typing verify_ro. It forces the system to hash its own core files and compare them against the cryptographic signatures stored on the physical security chip. If this fails, your machine has been deeply compromised. Thankfully, a quick reboot usually triggers an automatic repair.
Virtualization, Developer Survival, and Escaping
We are entering the final stretch. As you master these 25 Crosh Terminal Commands All Chromebook Users Should Know, you will inevitably start playing around with Linux on your Chromebook. Google calls this project Crostini. It allows you to run a full Debian Linux container right inside Chrome OS. Managing that container requires a few specific commands.
21. vmc
The Virtual Machine Control command. This is how you manage your Linux containers from the outside.
Typing vmc start termina boots up the hidden virtual machine that houses your Linux environment. You can also use vmc stop termina to forcefully shut it down if a Linux app freezes entirely. You can even use it to export your entire Linux container to a USB drive for backup purposes using vmc export.
22. vsh
Once your virtual machine is running, you need a way to actually interact with it.
Typing vsh termina drops you out of the Chrome OS developer shell and straight into the root shell of your Linux virtual machine. From here, you are no longer constrained by Chrome OS. You are running pure Linux. You can install packages, compile code, and break things to your heart’s content.
23. help
You will forget things. It happens. When you stare at the blinking cursor and cannot remember if the command was battery_test or test_battery, just type help.
It prints out a clean, concise list of the most common everyday commands available in your specific version of Chrome OS. It acts as a quick cheat sheet to jog your memory without overwhelming you with developer jargon.
24. help_advanced
When the basic help menu is not enough, you call in the big guns.
Typing help_advanced dumps an enormous amount of text onto your screen. It lists every single command, variable, and hidden debug tool currently compiled into the Crosh shell. It includes the required syntax, the optional parameters, and brief explanations of what each obscure networking tool actually does. It is the definitive local manual.
25. exit
You fixed the Wi-Fi. You verified your battery health. You forcefully paired your stubborn Bluetooth headphones. You are done.
Type exit. The terminal closes. You are back to the clean, simple, unbothered graphical interface of Chrome OS.
Applying This Knowledge in the Real World
Reading a list of commands is easy. Actually remembering to use them when your laptop is actively failing during a critical presentation is entirely different.
You need to build muscle memory. I highly suggest opening Crosh right now and running a basic battery_test and a quick ping to a familiar website. Watch how the text flows. See how the system responds to typos. Get comfortable with the stark visual environment of the terminal.
Do not wait for an absolute catastrophic hardware failure to open this tool for the first time. The panic of a dead machine makes it incredibly difficult to think clearly. If you practice using top to kill frozen tabs today, you will know exactly what to do when your machine locks up tomorrow.
Chromebooks are incredibly resilient machines. They are designed to hide their complexity behind a smooth, user-friendly facade. But beneath that glass screen and plastic keyboard beats a heart of pure, raw Linux architecture. By internalizing these 25 Crosh Terminal Commands All Chromebook Users Should Know, you stop being a passive consumer of the operating system. You become its administrator. You hold the keys. Now, get in there and start typing.