Using Shell as a "library" within PlatformIO, I tried #define CONFIG_SHELL_MAX_COMMANDS 10 before #include <Shell.h> , but it seems like this define is either being ignored, or is somehow executed AFTER the #include. Not sure what's going on, but short of editing Shell.h, there is no way to support more than 5 shell commands. (shell_register returns false for any command beyond the first 5).