امام باقر علیه السلام فرمود:
« مدتی پس از شهادت
حسین بن علی علیه السلام ،
محمد بن حنفیه ،
حضرت علی بن الحسین علیه السلام را در
مکه صدا زد و گفت:
« برادرزاده، میدانی که رسول الله صلی الله علیه و آله و سلم بعد از خودش امامت را برای علی بن ابیطالب قرار داده و بعد برای
امام حسن علیه السلام و بعد پدرت، امام حسین - رحمه الله علیه. اما او امام بعد از خودش را معرفی نکرد و شهید شد. من عموی تو هستم و برادر تنی پدرت؛ و به خاطر سنم، برای امامت، شایستهتر از تو هستم که هنوز جوانی. پس با من در مورد
وصایت و امامت مخالفت و مشاجره نکن.»
حضرت علی بن الحسین علیه السلام به او فرمود:
عمو جان، تقوای الهی پیشه کن و چیزی را که حق تو نیست، ادعا نکن. من تو را موعظه میکنم تا از نادانان و گمراهان نباشی. عمو جان! پدرم صلوات الله علیه و اله قبل از این که عازم
عراق شود، به من وصیت کرد و با من عهد بست، و این شمشیر
رسول الله صلی الله علیه و اله و سلم است که نزد من است. پس اعتراض نکن که نگران پیری و کهولت سن توام. خداوند تبارک و تعالی سوگند یاد کرده وصیت و
امامت را فقط در نسل حسین علیه السلام قرار دهد. پس اگر میخواهی مطمئن شوی، بیا با هم به کنار
حجر الاسود برویم و او را بین خودمان حکًًم قرار دهیم.
محمد بن حنفیه و امام برخاستند و کنار حجرالاسود رفتند. امام به محمد بن حنفیه فرمود:
« تو شروع کن. به درگاه خدا گریه و زاری کن، از او بخواه حجر را برای تو به سخن در آورد، و بعد از او سوال کن.» محمد بن حنفیه هم دعایی خواند و از حجر سوال کرد، اما جوابی نشنید.
امام سجاد علیه السلام فرمود:
عمو جان! اگر امام بودی، حجر حتما به تو جواب میداد.
محمد بن حنفیه عرض کرد:« حالا تو دعا کن و از او بپرس.»
امام دعا کرد و سپس رو به حجر فرمود:
« ای سنگی که عهد الهی انبیاء و اوصیاء و همه مردم در تو قرار داده شده است! از تو میخواهم به زبان عربی فصیح به ما خبر دهی که امام و وصی بعد از حسین بن علی کیست؟»
حجرالاسود ناگهان تکان خورد؛ به طوری که نزدیک بود از جایش بیفتد. سپس به اذن خداوند به سخن در آمد و چنین گفت: وصیت و امامت بعد از حسین بن علی علیه السلام به علی بن الحسین ــ پسر علی بن ابیطالب و فاطمه دختر رسول الله صلی الله و آله وسلم سپرده شده است.
محمد بن حنیفه بیدرنگ به امامت حضرت علی بن الحسین علیه السلام ایمان آورد.
ابو بصیر از
حضرت باقر علیه السلام روایت میکند که فرمود:
ابوخالد کابلی عمری خدمتگزار محمد بن حنیفه بود و هرگز در امامت او شک نکرده بود. تا اینکه روزی نزد او رفت و گفت:« من به تو ارادت و ایمان کامل دارم. به حق رسول الله و امیر المومنین علی علیهماالسلام قسمت میدهم به من بگویی امامی که خداوند اطاعتش را بر مردم واجب کرده، تو هستی؟»
محمد بن حنیفه گفت:
ابا خالد، مرا به چیز عظیمی قسم دادی. امام من و تو و همه مسلمانان، علی بن الحسین علیه السلام است.
ابو خالد با شنیدن این حرف، به در خانه امام سجاد رفت و اجازه شرفیابی خواست. به امام خبر دادند که ابو خالد آمده، امام به او اجازه ورود داد و فرمود:
« سلام به تو ای “کنکر”!! تو که هیچ وقت به سراغ ما نمی آمدی. چه شده ؟ درباره ما چیزی شنیدهای؟»
ابو خالد به سجده افتاد و گفت:« سپاس خدای را که مرا نراندید تا وقتی امام خودم را شناختم.»
امام به او فرمود:« چگونه امام خود را شناختی؟»
گفت:« شما من را به اسمی صدا زدید که مادرم بعد از تولدم مرا به آن نامیده بود. من سالها در غفلت بودهام؛ مدتی دراز خدمتگزار محمد بن حنیفه بودهام و در امامت او شک نداشتهام. ولی به تازگی، او را به حق خدا و رسول الله و امیرالمومنین علیه السلام قسم دادم و او هم مرا ارشاد کرد و گفت:
علی بن الحسین علیه السلام امام تو و همه مردم است. پس اجازه گرفتم خدمت شما برسم و شما هم مرا به اسمی که مادرم به من داده بود صدا زدید. پس برایم مسلم شد امام من و همه مسلمانها شمایید و اطاعتتان بر همه واجب است.