Longest Command In - Crosh
Result: The cursor froze. Crosh did not crash, but it stopped accepting keyboard input for 3 seconds. After processing, the command executed.
echo [A repeated 1000 times] Result: Success. The shell printed the line perfectly.
For example, using a printf built-in (or just pressing Tab to trigger auto-complete), the buffer limit becomes —that is 2^17 - 1 .
Why this number? It is a classic computing limit: (the maximum value of a signed 16-bit integer). longest command in crosh
I decided to find out. In a standard Bash shell on Linux, the limit is usually around 128KB to 1MB (defined by ARG_MAX ). Crosh, however, is different. It is built on ash (Almquist shell) with a custom frontend running inside the Chrome browser process.
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... (32,767 times) 0 Execution time: ~400ms (mostly rendering) Shell sanity after execution: Intact. Final Verdict The longest command in Crosh is 32,767 characters using an external binary, or 131,071 characters using a shell built-in.
bash: /bin/echo: Argument list too long The echo command is a built-in in many shells, but in Crosh's restricted environment, echo often forks to /bin/echo . That hits ARG_MAX . Result: The cursor froze
# Generate a 32,767-character argument printf 'A%.0s' 1..32767 | xargs -0 echo Note: The above command requires xargs , which may not be available in stock Crosh. You have been warned. Did I miss a longer command? Do you know a hidden built-in that bypasses the limit? Let me know in the comments.
Result: Success, but the terminal lagged slightly while redrawing the line.
But if you are writing a script that generates a massive one-liner inside Crosh (e.g., a very long for loop), remember the magic number: . The Longest Command Ever (Recorded) Here it is, abbreviated for sanity: echo [A repeated 1000 times] Result: Success
Crosh doesn't crash—it simply respects the POSIX ARG_MAX limit. Chrome OS’s little debug shell is more robust than it looks.
So, what happens when you try to break them? What is the you can type before Crosh gives up?
But a "command" implies execution. So the official winner for executable command remains . The "Null Byte" Caveat If you try to inject a null byte ( \0 ) into Crosh via printf or binary piping, the command will truncate immediately. Crosh treats null as string termination, just like C. Practical Takeaway Unless you are trying to break the shell on purpose, you will never hit this limit. The average Crosh command ( ping , ssh , top , network_diag ) uses fewer than 200 characters.
We found the wall. After narrowing it down, the longest successful command in Crosh is exactly: