qt: add createwallet, createwalletdescriptor, and migratewallet to history filter
What changed, and why it matters
This commit updates the Bitcoin Core graphical wallet's command history filter so that three additional wallet-related commands—createwallet, createwalletdescriptor, and migratewallet—are not saved in the on-screen command history. The goal is to reduce the chance that sensitive wallet commands are accidentally left visible to someone looking over the user's shoulder or accessing the unlocked computer. It is a small privacy/usability hardening change, not a fix for an active exploit.
No urgent action required. Treat as a routine privacy hardening patch. Reviewers may verify that the three added command names exactly match the RPC method names and consider whether any other wallet-creation or key-bearing commands should be added to the same filter.
Security signals we found
Adds wallet commands to command-history exclusion list
Privacy-oriented hardening against shoulder-surfing or shared-session leakage
No cryptographic, network, or consensus changes
No input validation, parsing, or memory-safety changes
Evidence from the diff
In src/qt/rpcconsole.cpp, the existing historyFilter QStringList is expanded to include ‘createwallet’, ‘createwalletdescriptor’, and ‘migratewallet’. This filter controls which RPC commands the Qt RPC console excludes from its local command history (accessible via up-arrow / history dropdown). The change prevents these commands from being persisted in the in-memory history list, similar to existing exclusions for private-key handling commands such as ‘signmessagewithprivkey’, ‘walletpassphrase’, etc.
Changed components
src/qt/rpcconsole.cppBitcoin Core Qt RPC console command historyInspect captured patch +3 / −0
diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp
index 958c82fd..d6d2be7b 100644
--- a/src/qt/rpcconsole.cpp
+++ b/src/qt/rpcconsole.cpp
@@ -72,6 +72,9 @@ namespace {
// don't add private key handling cmd's to the history
const QStringList historyFilter = QStringList()
+ << "createwallet"
+ << "createwalletdescriptor"
+ << "migratewallet"
<< "signmessagewithprivkey"
<< "signrawtransactionwithkey"
<< "walletpassphrase"
Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.