Force Navigator Reloaded is a Chrome Extension for Salesforce Lightning that provides fast and efficient navigation within Salesforce environments. This extension implements a command palette interface that allows users to quickly search, navigate, and perform actions without leaving their keyboard. It is available directly from the Chrome Web Store.
- Command Palette: Access a powerful command interface with keyboard shortcut (
Ctrl+Shift+Lon Windows orCmd+Shift+Pon Mac), this can be configured in the chrome shortcut settings (chrome://extensions/shortcuts) - Fast Navigation: Quickly search and navigate to Salesforce records, flows, list views, and setup pages
- Aura Navigation: Uses Salesforce Aura navigation events when available, with URL fallback for reliability
- SLDS Integration: Uses Salesforce Lightning Design System for a native look and feel
- Modern Architecture: Built with LWC OSS (Lightning Web Components) for composable UI
- Dynamic & Configurable Commands: Fetches and caches Salesforce setup menu items, SObjects, Flows, Lightning apps, Permission Sets, Permission Set Groups, active Users, and Login As actions directly from your org. Edit the JSON settings to include or exclude specific sources and custom commands from the palette.
- Search Prefix: Type
?followed by a term to open Salesforce global search results directly from the palette - Command-Controlled Palette Closing: Commands can keep the palette open after execution when appropriate
- Loading Feedback: A spinner is displayed while refresh-oriented commands are rebuilding the command list
- Virtual Scrolling: Only visible commands are rendered, keeping performance high even with thousands of commands
- Usage-based Sorting: Frequently executed commands appear higher in search results
- Usage Insights: Review command execution counts directly on the Settings page to understand which commands power workflows the most
- Optional My Domain Auto-login: Toggle auto-login from the Settings page. When enabled, the extension can auto-login on
*.my.salesforce.comlogin pages for already authorized orgs and requests OAuth scopeweb; if the token is missingwebscope, auto-login stops and the palette offersExtension > Authorizefor explicit re-authorization - Welcome Page: Automatically opens after first install with a quick start guide, shortcut tips, and review link
The command palette uses the uFuzzy library for efficient searching.
You can install the latest published version directly from the Chrome Web Store. Please note that updates are published manually, and due to the review process—which can take several days—the store version might occasionally lag behind the latest release.
- Download
force-navigator-reloaded.zipfrom the GitHub Releases page - Extract the archive
- Open Chrome and navigate to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted folder
- Navigate to any Salesforce Lightning page
- Press
Ctrl+Shift+L(orCmd+Shift+Pon Mac) to toggle the command palette. If the palette is open but not focused, the shortcut refocuses its input. - Type commands or search terms to find what you need
- Type
?followed by a search term such as?boyz 123to open Salesforce global search results - Press Enter to execute the selected command
- Press
Escor the same shortcut again to close the command palette when it has focus - Use the
?help button in the palette header (or the toolbar icon) to open the extension popup with shortcuts and Settings - Use the Settings page to edit the JSON configuration, tailoring which command sources (Setup nodes, objects, flows, lightning apps, permission sets, permission set groups, users, login as, custom commands) appear in the palette
- *.force.com*
- *.salesforce-setup.com*
- *.builder.salesforce-experience.com*
Force Navigator Reloaded authorises to Salesforce via the OAuth 2.0 PKCE flow declared in src/manifest.json.
- Two connected-app definitions live in
sf/force-app/main/default/connectedApps:Force_Navigator_Reloaded_Prod.connectedApp-meta.xmlForce_Navigator_Reloaded_Dev.connectedApp-meta.xml
- Both apps were created and configured once in the author’s developer org.
They are bound to the stable extension IDs:- Production ID
iniflnopffblekndhplennjijdcfkeak - Development ID
fjcokiadigpmkojdlhbkbhimkcmjokon
- Production ID
No. The connected app is needed only during the OAuth handshake; it is not deployed to, nor stored in, your Salesforce org. Simply install the extension and approve its access once—nothing else is required.
Even if the original developer org is deleted, Salesforce retains the connected-app metadata in its infrastructure. At that point the app becomes read-only. Any future changes (e.g. redirect URIs, scopes, secret rotation) would require the author to redeploy a fresh connected app and update the extension’s consumer key—end-users do not need to take action.
- Clone this repository
- Run
npm installto install dependencies - Run
npm run dev-buildfor a one-time development build (preferred for automation/agent usage), ornpm run devto build the extension in watch mode - Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode and load the
distdirectory as an unpacked extension
- Background Script (
src/background): Service worker that manages extension lifecycle, listens for keyboard commands, and handles cross-context communication - Content Script (
src/content_scripts): Injects the LWC app into Salesforce pages and handles communication with the background script - LWC Components (
src/lwc/modules): Lightning Web Components grouped by context:sharedfor reusable componentscontentfor content-script command palette modulesoptionsfor options-page moduleswelcomefor welcome-page modules
- Popup (
src/popup): Provides quick usage tips and links to settings and GitHub, with automatic light/dark theme styling - Options Page (
src/options): Settings UI built with LWC modules fromsrc/lwc/modules/options - Welcome Page (
src/welcome): Post-install onboarding page built with LWC modules fromsrc/lwc/modules/welcome - Shared Utilities (
src/shared): Common modules for background and content scripts, including the Channel messaging wrapper and settings management
- Webpack + Babel: Builds and bundles the extension into
dist/ - LWC: Uses Lightning Web Components via lwc-webpack-plugin
- Code Quality: Prettier and ESLint configured with Salesforce LWC standards
- Git Hooks: Husky pre-commit hook runs formatting
- CI Build & Web Store Release: A GitHub Action builds
dist/on each commit tomainwhere the source files has changed, attaches a zipped archive to the latest GitHub release, and uploads the extension to the Chrome Web Store - Manifest Key Injection:
webpackinjects the extensionkeyand OAuth consumer key based on build mode. This keeps the extension ID stable for authentication.
npm run build: Build the extension for productionnpm run dev-build: Build the extension for developmentnpm run dev: Build with watch mode for developmentnpm run lint: Run ESLint on source filesnpm run lint-fix: Fix ESLint issues automaticallynpm run format: Format code with Prettiernpm run bump: Increment minor version and sync tosrc/manifest.json
Connected apps are configured for a specific extension ID. Same app is reused across any Salesforce org without actual deployment, even if the org where the app lived is deleted.
See backlog.md for planned features and development tasks.
Contributions are welcome! Please feel free to submit a Pull Request.
If you enjoy using Force Navigator Reloaded, please consider leaving a review on the Chrome Web Store. Your feedback helps the project grow.
This extension only runs locally in communication with your instance of Salesforce. No data is collected from any user, nor is extension activity tracked or reported to a third-party.
This extension is not intended to support the work of any individual or organization that is discriminatory or outright illegal.