LINQPad and Portable Deployments
LINQPad can be xcopied for portable or shared deployment, simply by copying the following runtime files:
| LINQPad 5 |
LINQPad 9 |
LINQPad.exe LINQPad.exe.config |
LINQPad9-x64.exe LINQPad9-x86.exe LINQPad9-arm64.exe LINQPad.GUI.dll LINQPad.Runtime.dll |
No special setup is required.
However, you may also wish to include scripts, plugins, snippets, connections, drivers, default namespaces/references and user preferences with your deployment.
Normally, scripts, plugins, snippets and settings are stored in folders under My Documents, and most other data is stored in AppData\LINQPad.
However, if you create specially named subfolders under where you've put LINQPadx.exe, those local folders will be used for this data instead.
Portable Deployment Files
Here's a summary of a portable deployment. All items are optional apart from runtime files.
MyFolder/
(runtime files)
LPRun.exe.* -- Include if you want command-line support
scripts/ (or queries/) -- Put your scripts here
plugins/ -- Put your plugins + 'My Extensions' script here
snippets/ -- Put custom snippets here
drivers/ -- Put custom drivers here
claude/ -- Customizations for Claude Code (CLAUDE.md, skills)
settings/ -- See section below
InstallationName.txt -- Optional name to display in the title bar
ConnectionsV2.xml -- Connections to populate Schema tree view
DefaultScript.LP9.xml -- Default namespaces/references for new scripts
ResultStyles.css -- Custom result styling (LINQPad 5)
ResultStyles.LINQPad8.css -- Custom result styling (LINQPad 8)
ResultStylesLight.LINQPad9.css -- Custom result styling (LINQPad 9)
ResultStylesDark.LINQPad9.css -- Custom result styling (LINQPad 9)
Script files
To include scripts with your deployment, create a subfolder under the LINQPad.exe folder called scripts or queries. Any .LINQ
files/folders that you put in here will now appear in the My Scripts tree view (in place of My Documents/LINQPad Queries.
This can be useful when deploying LINQPad to a corporate intranet, where you want to present users with a set of queries they can run.
Extensions and Plugins
If your scripts depend on My Extensions, you can ship this, too. Create a subfolder under the LINQPad.exe folder called
plugins and then move/copy the content of My Documents/LINQPad Plugins into here. Note that any DLLs in this folder are
automatically referenced by all scripts. You don't need to reference them explicity in the 'My Extensions' script.
Custom Code Snippets
If you have any custom code snippets in My Documents/LINQPad Snippets, you can localize this too, by creating a folder
under LINQPad.exe called snippets and copying/moving your snippets there.
Custom Data Context Drivers
Custom and downloaded data context drivers are normally stored in %LocalAppData%\LINQPad\drivers. If your scripts or connections rely
on drivers that are not built-in, you can copy or move this folder into a local folder called drivers.
Connections
The connections that appear in the tree view when you start LINQPad are normally stored in %AppData%\LINQPad\ConnectionsV2.xml.
If you move/copy this file into the folder where LINQPad.exe is located, the latter will take precedence. If it's a shared
location, you can make it read-only to prevent consumers from persisting changes. (Connection groups, if you've defined any, are stored alongside in ConnectionGroups.xml and follow the same override behavior.)
(If you choose not to include the ConnectionsV2.xml file, scripts that rely on connections will still work, because the connection
data is also reified in each .LINQ file.)
Default Namespaces/References for New Scripts
LINQPad lets you select a default set of namespace imports and assembly references by going to 'References and Properties' (F4)
and pressing 'Set as default for new scripts'. The result is normally stored in %AppData%\LINQPad\DefaultScript.LP9.xml (LINQPad 9) or %AppData%\LINQPad\DefaultQuery.xml (LINQPad 5).
If you move/copy this file into the folder where LINQPad.exe is located, the latter will take precedence. If it's a shared
location, you can make it read-only to prevent consumers from making changes.
Installation Name
If you create a text file called InstallationName.txt, its content will be appended to the LINQPad title bar.
Useful when running multiple LINQPad installations on the same machine and you want to tell them apart at a glance.
Claude Code Customizations
Claude Code customizations (CLAUDE.md, .claude\skills\) are normally stored under your LINQPad settings folder.
If you create a folder called claude alongside LINQPad.exe, that folder will be used instead — making the customizations portable with the install.
Machine-local Claude Code config (mcp.json, settings.json) is normally stored in %LocalAppData%\LINQPad\Claude\config.
If you've created a portable claude folder (as above), you can additionally portablize mcp.json and/or settings.json on a per-file basis by placing a copy of either file inside that folder.
The portable copy takes precedence when present — useful when you want multiple sets of Claude config (for example, different MCP servers) on the same machine.
Portable Deployment Files - Settings
In addition to the items above, you can optionally portablize most settings.
There are TWO ways to proceed:
-
Mix and match: Copy or move ANY combination of the files below from their default location directly into the LINQPad folder. Only files that you copy/move will override what's in the default location.
-
Replace all: Create a settings subfolder in the LINQPad folder. LINQPad will then ONLY look in that subfolder when reading and writing the files described below. Omitted files will create factory defaults. Not recommended in shared use scenarios, because users may end up fighting each other. Supported in LINQPad 9+.
MyFolder/
OR
MyFolder/settings/:
...
RoamingUserOptions.xml -- General User Settings
NuGetSources.xml -- NuGet source settings
NuGetConfig.xml -- Additional NuGet config settings
AutoFormattingOptions.xml -- Options for auto formatting code
AIOptions.xml -- AI general settings
AIProviders.json -- Customizations to models and AI providers
LINQPad.Windows.KeyBindings.txt -- Keyboard customizations for Windows
LINQPad.macOS.KeyBindings.txt -- Keyboard customizations for macOS
The default location for these files is as follows:
| LINQPad 9 (Windows): |
Documents\LINQPad Settings\ |
| LINQPad 9 (macOS): |
~/LINQPad/Settings/ |
| LINQPad 5: |
%AppData%\LINQPad\ |
(Note that LINQPad 9+ lets you customize the default location in Settings | Folders.)